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

news/2024/7/8 2:25:54 标签: 人工智能, 计算机视觉

图片

代码 

	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));
	}

结果


http://www.niftyadmin.cn/n/5536198.html

相关文章

Semantic Kernel:微软大模型开发框架——LangChain 替代

大模型相关目录 大模型&#xff0c;包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步&#xff0c;扬帆起航。 基于Dify的QA数据集构建&#xff08;附代码&#xff09;Qwen-2-7B和GLM-4-9B&#x…

【超级实用的一些adb命令】

实用的一些adb命令 #实用的一些adb命令 ##获取屏幕分辨率 adb shell wm size Physical size: 1920x1080##获取屏幕密度 adb shell wm density Physical density: 240##获取CPU信息 adb shell cat /proc/cpuinfo##获取内存信息 adb shell cat /proc/meminfo##给模拟器输入框输…

Avalonia应用在基于Linux的国产操作deepin上运行

deepin系统介绍 deepin(原名Linux Deepin)致力于为全球用户提供美观易用&#xff0c;安全可靠的 Linux发行版。deepin项目于2008年发起&#xff0c;并在2009年发布了以 linux deepin为名称的第一个版本。2014年4月更名为 deepin&#xff0c;在中国常被称为“深度操作系统”。 …

docker集群部署主从mysql

搭建一个mysql集群&#xff0c;1主2从&#xff0c;使用docker容器 一、创建docker的mysql镜像 下次补上&#xff0c;因为现在很多网络不能直接pull&#xff0c;操作下次补上。 二、创建mysql容器 创建容器1 docker run -it -d --name mysql_1 -p 7001:3306 --net mynet --…

FPGA问题

fpga 问题 ep2c5t144 开发板 第一道坎&#xff0c;安装软件&#xff1b;没有注册&#xff0c;无法产生sop文件&#xff0c;无法下载 没有相应的库的quartus ii版本&#xff0c;需要另下载 第二道坎&#xff0c;模拟器的下载&#xff0c;安装&#xff1b; 第三道&#xff0c;v…

Java中深度理解线程和进程

在Java中理解和区分线程和进程是至关重要的&#xff0c;因为它们是实现并发和多任务的基础。 进程(Process) 定义&#xff1a; 进程是程序在计算机上的一次执行活动&#xff0c;是系统进行资源分配和调度的基本单位。每个进程都有自己的独立地址空间、堆栈和数据段&#xff0…

基于轨迹信息的图像近距离可行驶区域方案验证

一 图像可行驶区域方案 1.1 标定场景 1.2 标定步骤 设计一定间距标定场&#xff0c;在标定场固定位置设置摄像头标定标识点。主车开到标定场固定位置录制主车在该位置各个摄像头数据&#xff0c;通过摄像头捕获图像获取图像上关键点坐标pts-2d基于标定场设计&#xff0c;计算…

服务器工具集合推荐

推荐一个朋友开源的服务器运维整合工具,目前的功能包括: ddns&#xff0c;rdp、ssh终端、ftp、http代理&#xff0c;支持在线文件编辑&#xff0c;文件管理&#xff0c;docker&#xff0c;进程&#xff0c;系统监控、wol唤醒&#xff0c;电脑远程开机&#xff0c;点对点&#…