[英]how does cv::TermCriteria work in opencv?
我想使用opencv函數cv::cornerSubPix()
為我需要另一個, cv::TermCriteria
我的問題是關於這個函數的最后一個參數:
cv::TermCriteria(cv::TermCriteria::MAX_ITER +
cv::TermCriteria::EPS,
50, // max number of iterations
0.0001)); // min accuracy
這里的最小精度是什么意思?
TermCriteria的結構是
TermCriteria(
int type, // CV_TERMCRIT_ITER, CV_TERMCRIT_EPS, or both
int maxCount,
double epsilon
);
通常我們使用TermCriteria()函數來生成我們需要的結構。 該函數的第一個參數是CV_TERMCRIT_ITER或CV_TERMCRIT_EPS ,它告訴算法我們想要在一定次數的迭代之后或者當收斂度量達到某個小值(分別)時終止。 接下來的兩個參數設置這些條件中的一個,另一個或兩個應該終止算法的值。
我們有這兩個選項的原因是我們可以將類型設置為CV_TERMCRIT_ITER | CV_TERMCRIT_EPS因此在達到任一限制時停止。
TermCriteria的OpenCV文檔在這里http://docs.opencv.org/modules/core/doc/basic_structures.html#termcriteria最后一個參數是epsilon。 一些算法是迭代的並且當它們達到期望的准確度時停止。
在這里查看cv :: cornerSubPix()函數的實現https://github.com/Itseez/opencv/blob/master/modules/imgproc/src/cornersubpix.cpp
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.