HoughCircles()函数 画圆心和圆的轮廓
代码如下:
#include <opencv2/opencv.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;
using namespace std;
int main( )
{//【1】载入原始图、Mat变量定义 Mat srcImage = imread("C://1.bmp"); //工程目录下应该有一张名为1.jpg的素材图Mat midImage,dstImage;//临时变量和目标图的定义//【2】显示原始图imshow("【原始图】", srcImage); //【3】转为灰度图并进行图像平滑cvtColor(srcImage,midImage, COLOR_BGR2GRAY);//转化边缘检测后的图为灰度图GaussianBlur( midImage, midImage, Size(9, 9), 2, 2 );//【4】进行霍夫圆变换vector<Vec3f> circles;HoughCircles( midImage, circles, CV_HOUGH_GRADIENT,1.5, 10, 200, 100, 0, 0 );//【5】依次在图中绘制出圆for( size_t i = 0; i < circles.size(); i++ ){//参数定义Point center(cvRound(circles[i][0]), cvRound(circles[i][1]));int radius = cvRound(circles[i][2]);//绘制圆心circle( srcImage, center, 3, Scalar(0,0,255), -1, 8, 0 ); //圆心 半径为3 实心的圆 -1代表是不是被填充//绘制圆轮廓circle( srcImage, center, radius, Scalar(255,255,255), 3, 8, 0 ); //圆轮廓 半径为radius的值 3代表正值 线条粗细的程度}//【6】显示效果图 imshow("【效果图】", srcImage); waitKey(0); return 0;
}
scalar函数,显示颜色,可以自己去更改!
别的没有什么具体要说的了,HoughCircles()函数,具体参数代表什么可以自己去百度查一下就行了。
不同于HoughLines和HoughLinesP,比较明显的一个区别是:HoughCircles()函数不需要源图是二值的,而HoughLines和HoughLinesP都需要源图为二值图像! 二值就是只有黑和白两种颜色的图像,和灰度图像还是有区别的!
测试结果如下:
可以清楚的看见圆心和内圆。
HoughCircles()函数 画圆心和圆的轮廓相关推荐
- python怎么用turtle画圆_在Python中用turtle函数画同心圆
用turtle函数画空心圆 turtle.circle是从下方开始画圆的,所以要画同心圆的话,每一次都要将画笔移动到下一个圆的底部位置. 画笔的坐标默认在0,0,就以它为圆心. 因为turtle画圆的 ...
- 运用C#在VS2017的PictureBox控件中绘制简易二自由度机械臂,并且让机械臂实现画直线、圆、人物轮廓及写字的功能。
运用C#在VS2017的PictureBox控件中绘制简易二自由度机械臂,并且让机械臂实现画直线.圆.人物轮廓及写字的功能. 给大家看看效果吧 演示写字视频在下: VID 首先放置了诸多控件 在给控件 ...
- 在Python中用turtle函数画同心圆
用turtle函数画空心圆 turtle.circle是从下方开始画圆的,所以要画同心圆的话,每一次都要将画笔移动到下一个圆的底部位置. 画笔的坐标默认在0,0,就以它为圆心. 因为turtle画圆的 ...
- #绘制圆心_SolidWorks2018 绘制草图轮廓练习
欢迎大家来学SolidWorks2018,学习它强大的绘图功能,还有零件图,装配体,工程图.曲面,钣金,模具,焊件都没问题.关注我学习SolidWorks2018经验分享,学习一技之长. 来分析一下这 ...
- 圆弧的函数c语言,VC++中Arc函数画圆弧
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:VC++中Arc函数画圆弧回答:BOOL Arc(int x1,int y1,int x2,int y2,int x3,int y3 ...
- cv2.HoughCircles函数的参数
内容来自OpenCV-Python Tutorials 自己翻译整理 目标: 使用霍夫变换在图像中寻找圆 使用函数cv2.HoughCircles() 原理: 圆形的表达式为(x−xcenter)2+ ...
- uniapp实现canvas画倾斜的圆
好家伙为了画这个椭圆我可真的是煞费苦心 首先在uni的canvas里面是没有画椭圆的函数的,想要实现椭圆有很多种方法 可以使用lineTo不停的改变很小的间距来画 但是十分耗费性能 使用arc画圆,使 ...
- LCD编程_画点线圆
上篇博客中进行了lcd的简单测试,这篇博客将进行更加复杂的测试--画点.画线.画圆.画线和画圆是在画点的基础上实现的,因此本篇博客重点实现画点操作. 先抛出这样的一个问题,已知: (x,y)的坐标: ...
- Python 在图片上画点、圆和矩形实例
1.在图片上画点.圆 import cv2 img = cv2.imread(img_path) # 读取图片cv2.circle(img,(100,100),20,(0,0,255),-1) # c ...
最新文章
- Unity 3D游戏代码编程学习教程 Full Guide To Unity 3D C#: Learn To Code Making 3D Games
- 飞鸽 bind()错误=10048
- python怎么打开ipynb文件_如何优雅的打开.ipynb文件
- C程序生成一定范围内的随机数
- Vue-easyui中如何给ComboGrid添加过滤器
- Logistics模型预测银行贷款违约
- 转 从20秒到0.5秒:一个使用Rust语言来优化Python性能的案例
- vue 拷贝 数组_vue源码中值得学习的方法
- 制作网页特效的基本步骤
- Docker安装以及一些常用命令
- python读取字符串按列分配后按行读出
- 不容易系列之(3)—— LELE的RPG难题 (递推dp)
- Dubbo服务调用流程源码分析(服务调提供方)
- iphone双重认证关闭不了怎么办_Apple id双重认证,没有关闭的选项?
- 【ABAP】采购订单行项目 税码 自动默认
- 2008.12.7微明(杭州)信息科技有限公司
- 傅里叶变换(真正的通俗易懂)
- Python爬虫入门教程 65-100 爬虫与反爬虫的修罗场,点评网站,字体反爬之三
- 内容营销的思维方式 阿胜说
- 计算机毕设推荐基于微信小程序的自来水收费系统