本文将会介绍在一副图像的指定区域画圆,上一节介绍的是在图像指定区域画矩形,在图像上画圆和画矩形原理相近,只是用到的函数不同,画圆用到的opencv的函数为circle函数:
circle(Mat img, Point center, int radius, Scalar color, int thickness=1, int lineType=8, int shift=0)函数的各个参数功能:
img为源图像
center为画圆的圆心坐标
radius为圆的半径
color为设定圆的颜色,规则根据B(蓝)G(绿)R(红)(详解可参见上节矩形绘画)
thickness 如果是正数,表示组成圆的线条的粗细程度。否则,表示圆是否被填充
line_type 线条的类型。默认是8(详解可参见上节矩形绘画)
shift 圆心坐标点和半径值的小数点位数
实现代码
include <opencv2/opencv.hpp> #include<iostream> using namespace std; using namespace cv; int main() { Mat src = imread("cat.jpg"); int point_x = src.cols / 2+30;//圆心坐标x值 int point_y = src.rows / 2-40;//圆心坐标y值 //圆形绘画 circle(src, Point(point_x, point_y), 60, Scalar(0, 0, 255),3); imshow("src", src); waitKey(0); return 0; }
实现结果:
上述绘制的圆形为红色,如果想改变图像颜色可以修改Scalar(0, 0, 255)中的三个值。
如有对图像处理、计算机视觉感兴趣的小伙伴关注公众号,一起学习进步。可以微信搜索“图像处理CV讲武堂”关注,也可如下二维扫码关注。
“动动手指扫码或微信搜一搜“图像处理CV讲武堂”关注哟”