我正在开发一个带有opencv 的Android应用程序
我使用以下代码查找最近的CvK最近的列车
for(int i=0; i< contours.size();i++){
if ((Imgproc.contourArea(contours.get(i)) > 50 )){
Rect rect = Imgproc.boundingRect(contours.get(i));
if (rect.height > 28){
Mat ROI = imageA.submat(rect.y, rect.y + rect.height, rect.x, rect.x + rect.width);
Mat tmp1 = new Mat();
Mat tmp2 = new Mat();
Mat tmp3 = new Mat(CvType.CV_32FC1);
Imgproc.resize(ROI, tmp1, new Size(10, 10));
tmp1.convertTo(tmp2, CvType.CV_32FC1);
//float p = knn.find_nearest(tmp2.reshape(1, 1), 100, tmp3, temp1, temp1);
Core.rectangle(image, new Point(rect.x,rect.y), new Point(rect.x+rect.width,rect.y+rect.height),new Scalar(0,0,255));
}
}
}
当我取消注释knn.find_nearest行时,我收到Fatal signal 11 (SIGSEGV) at 0x00000010 (code=1)
我哪里错了?
我什么时候才能清空内存??
在函数"find knearset"中,您必须检查k参数,因为这是有限制的。
这里有一个链接,你可以在那里找到信息链接
我现在正在做一个类似的项目,我设定了32而不是100。