opencv进行光学检测污点问题

使用opencv进行光学检测污点问题

img

请问这图像中间的黑色斑检测该怎么实现呢
我使用了opencv里的SimpleBlobDetector
尝试了不同的参数,但始终没法将污点全部覆盖

【OpenCV 例程200篇】50. 图像增强—直方图统计量图像增强
https://blog.csdn.net/youcans/article/details/121706228

【OpenCV 例程200篇】49. 图像增强—局部直方图处理
https://blog.csdn.net/youcans/article/details/121691770

【OpenCV 例程200篇】166.自适应阈值处理
https://blog.csdn.net/youcans/article/details/124400691

仅供参考:

void gamma_correct(Mat& img, Mat& dst, double gamma) {
    Mat tmp;

    img.convertTo(tmp, CV_32FC1, 1.0/255.0, 0.0);
    pow(tmp, gamma, tmp);
    tmp.convertTo(dst , CV_8UC1,     255.0, 0.0);
}


或者参考下面链接
https://blog.csdn.net/cyf15238622067/article/details/89202361

结合直方图均衡化、三角阈值法或者最大类间阈值法、连通域轮廓提取,能完成提取。