Я пытаюсь обнаружить дефект на корпусе бутылки. Было очень странно, что круги расположены на белых и светлых темных кругах, а не только на черном, хотя я указал черный.
Просматривая сеть, я увидел эту тему экспертом, который со своей стороны подтвердил, что функция цвета здесь не работает должным образом. это ссылка (Вы можете видеть ее выделенной красным):
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, вы можете видеть темную дыру, которую я должен обнаружить. но изменение характеристик (в теории) не соответствует действительности в реальности.
Любая помощь? Я также не могу найти четкую документацию по теме блоба.