我希望通过阈值水平找到最佳匹配。
这是我所做的,但值保持在0。
cvMatchTemplate(src, tmp, result, CV_TM_CCORR_NORMED);
CvPoint minLoc = new CvPoint();
CvPoint maxLoc = new CvPoint();
DoublePointer min_val = new DoublePointer();
DoublePointer max_val = new DoublePointer();
cvMinMaxLoc(result,min_val, max_val, minLoc, maxLoc, null);
我没有真正得到双指针,但它是mothode所要求的。 min_value和max_value保持为零,所以我无法找到最佳匹配。
感谢advanced.Using javaCV。
答案 0 :(得分:0)
在示例here中,他们使用了原始双精度,而不是Double类型,他们定义了数组,而不仅仅是对象。那么,为什么不试一试,让我们知道它是否会产生任何影响。
cvMatchTemplate(src, tmp, result, CV_TM_CCORR_NORMED);
double[] min_val = new double[2];
double[] max_val = new double[2];
CvPoint minLoc = new CvPoint();
CvPoint maxLoc = new CvPoint();
cvMinMaxLoc(result, min_val, max_val, minLoc, maxLoc,null);
<强> __ UPDATE __ 强>
我从here
找到了以下代码// Match Template Function from OpenCV
cvMatchTemplate(src, tmp, result, CV_TM_CCORR_NORMED);
// double[] min_val = new double[2];
// double[] max_val = new double[2];
DoublePointer min_val = new DoublePointer();
DoublePointer max_val = new DoublePointer();
CvPoint minLoc = new CvPoint();
CvPoint maxLoc = new CvPoint();
cvMinMaxLoc(result, min_val, max_val, minLoc, maxLoc, null);
注意他们如何实例化DoublePointer()而没有任何参数。如果它没有帮助,我不确定这是什么。我希望它有效。