Ошибка в спецификации функций opencv 3 C ++ в blobdetector? - PullRequest
0 голосов
/ 04 ноября 2018

Я пытаюсь обнаружить дефект на корпусе бутылки. Было очень странно, что круги расположены на белых и светлых темных кругах, а не только на черном, хотя я указал черный.

Просматривая сеть, я увидел эту тему экспертом, который со своей стороны подтвердил, что функция цвета здесь не работает должным образом. это ссылка (Вы можете видеть ее выделенной красным): https://www.learnopencv.com/blob-detection-using-opencv-python-c/

Это связанный фрагмент моего кода:

params.filterByArea = true;
params.minArea = 32;
params.maxArea = 60;

params.filterByColor = true;
params.blobColor = 0;

params.filterByConvexity = true;
params.minConvexity = 0.4;


threshold(src_gray, dst, threshold_value, max_BINARY_value, threshold_type);
imwrite("C:\\Documents\\Output testing\\output.jpg", dst);
Ptr<SimpleBlobDetector>detector = SimpleBlobDetector::create(params);
std::vector<KeyPoint> keypoints;
detector->detect(dst, keypoints);                                       // keypoints vector to store the coordinates of the defects, as well as other parameters like size,etc..
                                                                                //detector.detect(defect_inv, keypoints);


Mat blob_bottle;
drawKeypoints(dst, keypoints, blob_bottle, Scalar(0, 0, 255), DrawMatchesFlags::DRAW_RICH_KEYPOINTS);   // drawing a red circle around the defect on the original masked corrected image
imwrite("C:\\Documents\\Output testing\\BlobTest.jpg", blob_bottle);

`

Вот что я получаю: https://imgur.com/a/Xq5DyvT, вы можете видеть темную дыру, которую я должен обнаружить. но изменение характеристик (в теории) не соответствует действительности в реальности.

Любая помощь? Я также не могу найти четкую документацию по теме блоба.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...