opencv 的 SimpleBlobDetector

在OpenCV 2.4.10版本中,SimpleBlobDetector模块常用于目标检测。本文作者分享了在使用该模块时遇到的问题,如无法检测到目标blob或程序崩溃,并指出问题可能出在参数设置上。通过代码示例展示了图像从BGR转换到HSV的过程,同时提到SimpleBlobDetector返回的结果有时不准确,因此建议自行编写更可控的blob分析方法。
摘要由CSDN通过智能技术生成

在opencv的opencv2.4.10版本中,可以使用simpleBlogDetector模块

网上有很多分析的文章。我在尝试使用时,刚开始总是得不到目标blob,返回的blob个数是0,有时是崩溃越界。仔细查找后,发现是参数设置的一些问题。

附一些代码及说明
cvtColor(m_srcBGRImg, m_HSVimg, COLOR_BGR2HSV);
m_Hueimg.create(m_HSVimg.size(), m_HSVimg.depth());
int chH[] = {0, 0};
mixChannels(&m_HSVimg, 1, &m_Hueimg, 1, chH, 1);
imshow(“hue”,m_Hueimg);

Mat testSrcImg =m_Hueimg.clone();
imshow("origin blob2",testSrcImg);
vector<KeyPoint> keyPoints; //每一个blob返回一个keypoints是blob中心点
SimpleBlobDetector::Params params;
params.minThreshold=50;//起始值,查t0到(t0+step)的点
//t0+step 到t0+2*step的点 
params.maxThreshold=255;
params.thresholdStep =50;
//params.filterByArea =false;//按照面积晒选如果为false容易出现溢出 bug
params.filterByColor =true;
params.blobColor = 255;//提亮色
params.minArea =500;//目标blob的最小点数
params.maxArea =500000;//最大点数
params.filterByInert
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值