图像练习-识别中圆形锡点 (04)

图片

代码

cpp 复制代码
	cv::Mat src = cv::imread("light_point.png", cv::IMREAD_COLOR);

	cv::Mat draw = src.clone();
	cv::Rect rt0(20, 80, src.cols - 30, 190);
	cv::Rect rt1(20, 480, src.cols - 30, 190);

	cv::Mat gray;
	cv::cvtColor(src, gray, cv::COLOR_BGR2GRAY);

	cv::Mat dst(gray.size(), gray.type(), cv::Scalar(0));

	gray(rt0).copyTo(dst(rt0));
	gray(rt1).copyTo(dst(rt1));

	cv::Mat gauss;
	cv::GaussianBlur(dst, gauss, cv::Size(45, 45), 0.0);

	cv::Mat binary = gauss > 90;

	std::vector<std::vector<cv::Point>> contours;
	cv::findContours(binary, contours, cv::RETR_EXTERNAL, cv::CHAIN_APPROX_NONE);

	cv::Mat marker = src.clone();
	for (size_t i = 0; i < contours.size(); ++i)
	{
		cv::Point2f center;
		float radius = 0.0f;
		cv::minEnclosingCircle(contours[i], center, radius);
		cv::RotatedRect rRect = cv::fitEllipse(contours[i]);
		cv::drawMarker(marker, rRect.center, cv::Scalar(255), cv::MARKER_CROSS);
		cv::circle(marker, center, (int)radius, cv::Scalar(0, 255));
	}

结果

相关推荐
NAGNIP7 小时前
轻松搞懂全连接神经网络结构!
人工智能·算法·面试
moshuying8 小时前
别让AI焦虑,偷走你本该有的底气
前端·人工智能
董董灿是个攻城狮9 小时前
零基础带你用 AI 搞定命令行
人工智能
喝拿铁写前端11 小时前
Dify 构建 FE 工作流:前端团队可复用 AI 工作流实战
前端·人工智能
阿里云大数据AI技术11 小时前
阿里云 EMR Serverless Spark + DataWorks 技术实践:引领企业 Data+AI 一体化转型
人工智能
billhan201611 小时前
MCP 深入理解:协议原理与自定义开发
人工智能
Jahzo12 小时前
openclaw桌面端体验--ClawX
人工智能·github
billhan201612 小时前
Agent 开发全流程:从概念到生产
人工智能
threerocks12 小时前
过了个年,AI 圈变天了?但没人告诉你为什么
人工智能