SimpleBlobDetector 不能 运行
SimpleBlobDetector cannot run
你好 Whosebug 社区,
我 运行 遇到了问题,我需要你的帮助。我有一个门槛垫,我正在尝试检测上面的任何斑点。我的设置是:
cv::SimpleBlobDetector::Params params;
params.minDistBetweenBlobs = 10.0; // minimum 10 pixels between blobs
params.filterByArea = true; // filter my blobs by area of blob
params.minArea = 1000; // min 1000 pixels squared
params.maxArea = 10000; // max 10000 pixels squared
params.filterByColor = true;
params.blobColor = 255;
Ptr<SimpleBlobDetector> detector = SimpleBlobDetector::create(params);
std::vector<cv::KeyPoint> myBlobs;
detector->detect(fgMaskMOG2, myBlobs);
drawKeypoints(fgMaskMOG2, myBlobs, fgMaskMOG2);
imshow("FG Mask MOG 2", fgMaskMOG2);
但是程序在 运行 之后停止了,没有在我的图像上突出显示关键点。这是 Mat fgMaskMOG2,一个二进制框架,在这些代码行之前创建:
我正在使用 opencv 3。问题出在线路检测器->检测(fgMaskMOG2, myBlobs);我已经阅读了其他主题,但不认为问题出在代码中,因为其他人也这样做过。我尝试将框架转换为 CV_GRAY2RGB 和 CV_8UC1,但它并没有解决问题。我还尝试调整 params 属性,但它没有改变任何东西。伙计们有什么想法吗?
我发现的问题是我没有使用正确的库。我使用 opencv_world.dll 作为调试模式。我切换到发布模式,它解决了问题。
你好 Whosebug 社区,
我 运行 遇到了问题,我需要你的帮助。我有一个门槛垫,我正在尝试检测上面的任何斑点。我的设置是:
cv::SimpleBlobDetector::Params params;
params.minDistBetweenBlobs = 10.0; // minimum 10 pixels between blobs
params.filterByArea = true; // filter my blobs by area of blob
params.minArea = 1000; // min 1000 pixels squared
params.maxArea = 10000; // max 10000 pixels squared
params.filterByColor = true;
params.blobColor = 255;
Ptr<SimpleBlobDetector> detector = SimpleBlobDetector::create(params);
std::vector<cv::KeyPoint> myBlobs;
detector->detect(fgMaskMOG2, myBlobs);
drawKeypoints(fgMaskMOG2, myBlobs, fgMaskMOG2);
imshow("FG Mask MOG 2", fgMaskMOG2);
但是程序在 运行 之后停止了,没有在我的图像上突出显示关键点。这是 Mat fgMaskMOG2,一个二进制框架,在这些代码行之前创建:
我正在使用 opencv 3。问题出在线路检测器->检测(fgMaskMOG2, myBlobs);我已经阅读了其他主题,但不认为问题出在代码中,因为其他人也这样做过。我尝试将框架转换为 CV_GRAY2RGB 和 CV_8UC1,但它并没有解决问题。我还尝试调整 params 属性,但它没有改变任何东西。伙计们有什么想法吗?
我发现的问题是我没有使用正确的库。我使用 opencv_world.dll 作为调试模式。我切换到发布模式,它解决了问题。