当前位置: 首页 > news >正文

BlobDetector的使用与参数说明(OpenCV/C++)

通过opencv的BlobDetector方法可以检测斑点、圆点、椭圆等形状

以下是使用方式及代码说明:

1、导入必要的OpenCV库和头文件。

#include <opencv2/opencv.hpp>
#include <opencv2/blob/blobdetector.hpp>

2、读取图像并将其转换为灰度图像。  

cv::Mat image = cv::imread("image.jpg", cv::IMREAD_GRAYSCALE);

3、创建一个BlobDetector对象,并设置相关参数。

cv::SimpleBlobDetector::Params params;// 设置检测圆的阈值
params.minThreshold = 10;
params.maxThreshold = 200;//设置识别的预期颜色
//params.blobColor = 0;    //0表示预期检测圆的颜色为白色// 用于过滤面积小的blob
params.filterByArea = false;    //true表示启动该功能,false表示关闭该功能
params.minArea = 0.1;//用于过滤不符合圆形形状的blob
params.filterByCircularity = true;
params.minCircularity = 0.8;//用于过滤不规则或者非凸的blob
params.filterByConvexity = true;
params.minConvexity = 0.8;//用于过滤不符合椭圆形状的blob
params.filterByInertia = true;
params.minInertiaRatio = 0.8;// 创建BlobDetector对象
cv::Ptr<cv::SimpleBlobDetector> detector = cv::SimpleBlobDetector::create(params);

4、使用BlobDetector在图像中检测圆形。

std::vector<cv::KeyPoint> keypoints;
detector->detect(image, keypoints);

5、绘制检测到的圆。

cv::Mat imageWithKeypoints;
cv::drawKeypoints(image, keypoints, imageWithKeypoints, cv::Scalar(0, 0, 255), cv::DrawMatchesFlags::DRAW_RICH_KEYPOINTS);

6、显示并保存带有检测到的圆的图像。

cv::imshow("Circle Detection", imageWithKeypoints);
cv::waitKey(0);
cv::imwrite("result.jpg", imageWithKeypoints);
http://www.lryc.cn/news/205977.html

相关文章:

  • 行为型模式-空对象模式
  • 爬虫采集如何解决ip被限制的问题呢?
  • 【ARM AMBA Q_Channel 详细介绍】
  • PDF Reader Pro v2.9.8(pdf编辑阅读器)
  • 【机器学习可解释性】1.模型洞察的价值
  • 网络安全保险行业面临的挑战与变革
  • 如何提高系统的可用性/高可用
  • PCA和LDA数据降维计算(含数学例子推导过程)
  • 题目 1053: 二级C语言-平均值计算(python详解)——练气三层初期
  • Python —— UI自动化之Page Object模式
  • 职能篇—自动驾驶产品经理
  • ubuntu安装golang
  • ES 8 新特性
  • linux-防火墙
  • Pytorch--3.使用CNN和LSTM对数据进行预测
  • 爬虫进阶-反爬破解9(下游业务如何使用爬取到的数据+数据和文件的存储方式)
  • Docker常用应用部署
  • 【数据分享】2014-2022年我国淘宝村点位数据(Excel格式/Shp格式)
  • Ubuntu 安装 docker-compose
  • vue2、vue3中路由守卫变化
  • Leetcode—547.省份数量【中等】
  • Nginx 防盗链
  • 26. 通过 cilium pwru了解网络包的来龙去脉
  • 刷题笔记day01-数组
  • C#调用C++ 的DLL传送和接收中文字符串
  • 【MySQL】数据库常见错误及解决
  • spring常见问题汇总
  • java8 Lambda表达式以及Stream 流
  • 基于Java的音乐网站管理系统设计与实现(源码+lw+部署文档+讲解等)
  • 【蓝桥】小蓝的疑问