C# 基于OpenCv的视觉工作流-章33-Blod分析
本章目标:
一、设置参数;
二、斑点检测;

斑点检测是指在图像中找到明亮或暗的小区域(通常表示为斑点),并标记它们的位置。可用OpenCV算子SimpleBlobDetector来实现,该算子提供了五种过滤方式(面积、灰度值、圆度、凸度、惯量),可根据实际需要进行组合使用,筛选出符合目标的区域。
一、设置参数
SimpleBlobDetector.Params parameters = new SimpleBlobDetector.Params();
parameters.ThresholdStep = thresholdStep;
parameters.MinThreshold = minThreshold;
parameters.MaxThreshold = maxThreshold;
parameters.MinRepeatability = Convert.ToUInt32(minRepeatability);
parameters.MinDistBetweenBlobs = minDistBetweenBlobs;
parameters.FilterByColor = filterByColor;
parameters.BlobColor = (byte)blobColor;
parameters.FilterByArea = filterByArea;
parameters.MinArea = minArea;
parameters.MaxArea = maxArea;
parameters.FilterByCircularity = filterByCircularity;
parameters.MinCircularity = minCircularity;
parameters.MaxCircularity = maxCircularity;
parameters.FilterByInertia = filterByInertia;
parameters.MinInertiaRatio = minInertiaRatio;
parameters.MaxInertiaRatio = maxInertiaRatio;
parameters.FilterByConvexity = filterByConvexity;
parameters.MinConvexity = minConvexity;
parameters.MaxConvexity = maxConvexity;
二、斑点检测;
OpenCv Blod分析可如下使用
SimpleBlobDetector detector = SimpleBlobDetector.Create(parameters);
KeyPoint[] keypoints = detector.Detect(matDst);
其中:参数1,为输入图像;
keypoints,为输出斑点(各斑点含有坐标及尺寸大小值);

效果如下图

参考链接
https://www.jb51.net/program/31032710m.htm
https://cloud.tencent.com/developer/article/1084326
https://blog.csdn.net/SoNg_ch_/article/details/132271232
https://www.cnblogs.com/ybqjymy/p/12826445.html
"VisionTool 探迹"免费视觉工具
下载地址:https://pan.baidu.com/s/11tktKOSnepLNIEqNbvnv6w?pwd=qv5i
"VisionTool Halcon"付费视觉工具
下载地址:https://pan.baidu.com/s/1v832KTonDYS6oNnWG2iZtQ?
对应系列文章"C# 基于Halcon的视觉工作流",欢迎前往阅读。
上述内容需要一定的技术功底,本章至此已结束,欢迎阅读下章,谢谢!