代码如下:

#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()函数 画圆心和圆的轮廓相关推荐

  1. python怎么用turtle画圆_在Python中用turtle函数画同心圆

    用turtle函数画空心圆 turtle.circle是从下方开始画圆的,所以要画同心圆的话,每一次都要将画笔移动到下一个圆的底部位置. 画笔的坐标默认在0,0,就以它为圆心. 因为turtle画圆的 ...

  2. 运用C#在VS2017的PictureBox控件中绘制简易二自由度机械臂,并且让机械臂实现画直线、圆、人物轮廓及写字的功能。

    运用C#在VS2017的PictureBox控件中绘制简易二自由度机械臂,并且让机械臂实现画直线.圆.人物轮廓及写字的功能. 给大家看看效果吧 演示写字视频在下: VID 首先放置了诸多控件 在给控件 ...

  3. 在Python中用turtle函数画同心圆

    用turtle函数画空心圆 turtle.circle是从下方开始画圆的,所以要画同心圆的话,每一次都要将画笔移动到下一个圆的底部位置. 画笔的坐标默认在0,0,就以它为圆心. 因为turtle画圆的 ...

  4. #绘制圆心_SolidWorks2018 绘制草图轮廓练习

    欢迎大家来学SolidWorks2018,学习它强大的绘图功能,还有零件图,装配体,工程图.曲面,钣金,模具,焊件都没问题.关注我学习SolidWorks2018经验分享,学习一技之长. 来分析一下这 ...

  5. 圆弧的函数c语言,VC++中Arc函数画圆弧

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:VC++中Arc函数画圆弧回答:BOOL Arc(int x1,int y1,int x2,int y2,int x3,int y3 ...

  6. cv2.HoughCircles函数的参数

    内容来自OpenCV-Python Tutorials 自己翻译整理 目标: 使用霍夫变换在图像中寻找圆 使用函数cv2.HoughCircles() 原理: 圆形的表达式为(x−xcenter)2+ ...

  7. uniapp实现canvas画倾斜的圆

    好家伙为了画这个椭圆我可真的是煞费苦心 首先在uni的canvas里面是没有画椭圆的函数的,想要实现椭圆有很多种方法 可以使用lineTo不停的改变很小的间距来画 但是十分耗费性能 使用arc画圆,使 ...

  8. LCD编程_画点线圆

    上篇博客中进行了lcd的简单测试,这篇博客将进行更加复杂的测试--画点.画线.画圆.画线和画圆是在画点的基础上实现的,因此本篇博客重点实现画点操作. 先抛出这样的一个问题,已知: (x,y)的坐标: ...

  9. Python 在图片上画点、圆和矩形实例

    1.在图片上画点.圆 import cv2 img = cv2.imread(img_path) # 读取图片cv2.circle(img,(100,100),20,(0,0,255),-1) # c ...

最新文章

  1. Unity 3D游戏代码编程学习教程 Full Guide To Unity 3D C#: Learn To Code Making 3D Games
  2. 飞鸽 bind()错误=10048
  3. python怎么打开ipynb文件_如何优雅的打开.ipynb文件
  4. C程序生成一定范围内的随机数
  5. Vue-easyui中如何给ComboGrid添加过滤器
  6. Logistics模型预测银行贷款违约
  7. 转 从20秒到0.5秒:一个使用Rust语言来优化Python性能的案例
  8. vue 拷贝 数组_vue源码中值得学习的方法
  9. 制作网页特效的基本步骤
  10. Docker安装以及一些常用命令
  11. python读取字符串按列分配后按行读出
  12. 不容易系列之(3)—— LELE的RPG难题 (递推dp)
  13. Dubbo服务调用流程源码分析(服务调提供方)
  14. iphone双重认证关闭不了怎么办_Apple id双重认证,没有关闭的选项?
  15. 【ABAP】采购订单行项目 税码 自动默认
  16. 2008.12.7微明(杭州)信息科技有限公司
  17. 傅里叶变换(真正的通俗易懂)
  18. Python爬虫入门教程 65-100 爬虫与反爬虫的修罗场,点评网站,字体反爬之三
  19. 内容营销的思维方式 阿胜说
  20. 计算机毕设推荐基于微信小程序的自来水收费系统

热门文章

  1. 网路营销seo站群策略
  2. 一键反编译安卓apk文件
  3. 软件测试b s环境如何配置,B/S架构测试环境搭建_SQLServer篇(Win32系统)
  4. 面试系统设计_如何进行系统设计面试
  5. Educoder/头歌JAVA实训——JAVA面向对象:类与对象
  6. iOS开发脚踏实地学习day15-画板
  7. 欢迎大家加入我的Q群
  8. 函数曲线长度的计算方法
  9. deepin 安装到移动硬盘_系统装机|硬盘里的Linux之deepin 20系统安装教程
  10. Visio页面的虚线怎么去掉