admin管理员组

文章数量:1650774

原因:探测器初始化不正确,错误代码:
 

SimpleBlobDetector detector;
// 检测块
vector<KeyPoint> keypoints_1,keypoints_2;
cvtColor(src1, src1, COLOR_RGB2GRAY);
cvtColor(src2, src2, COLOR_RGB2GRAY);//注意先转为单通道
detector.detect(src1, keypoints_1);
detector.detect(src2, keypoints_2);

正确代码:(改为使用指针对象来使用探测器)

// 建立探测器
Ptr<SimpleBlobDetector> detector=SimpleBlobDetector::create();
// 检测块
vector<KeyPoint> keypoints_1,keypoints_2;
cvtColor(src1, src1, COLOR_RGB2GRAY);//多通道转为单通道
cvtColor(src2, src2, COLOR_RGB2GRAY);
detector->detect(src1, keypoints_1);
detector->detect(src2, keypoints_2);

本文标签: 报错functionfeatureOpencvError