Opencv基础画图函数——line、circle、rectangle、Rect、ellipse、polylines、putText函数的用法

1、line函数

line(img,(0,0),(511,511),(255,0,0),5)

这个函数有5个参数,img是图像名称,起点坐标,终点坐标,(255,0,0)是蓝色,5是线的宽度
会画一条 从左上方到右下角的蓝色线段。

2、circle函数

cvCircle(CvArr* img, CvPoint center, int radius, CvScalar color, int thickness=1, int lineType=8, int shift=0)
img为源图像指针
center为画圆的圆心坐标
radius为圆的半径
color为设定圆的颜色,规则根据B(蓝)G(绿)R(红)
thickness 如果是正数,表示组成圆的线条的粗细程度。否则,表示圆是否被填充
line_type 线条的类型。默认是8
shift 圆心坐标点和半径值的小数点位数

for (int i = 0;i < points.size();i++)
{
	circle(image, points[i], 5, Scalar(0, 0, 255), 2, 8, 0);
}

3、rectangle、Rect函数

rectangle函数是用来绘制一个矩形框的,通常用在图片的标记上。

rectangle(img2, Point(j,i), Point(j + img4.cols, i + img4.rows), Scalar(255, 255, 0), 2, 8);

img2:要做处理的图片
二三代表左上右下矩形的角坐标
scalar:颜色
2代表线条宽度
8是线型,默认取8

Rect函数也是画矩形的,但与上面的有所不同

Rect roi_rect = Rect(128, 128, roi.cols, roi.rows);

Rect(x,y,width,height),x, y 为左上角坐标, width, height 则为长和宽。

4、ellipse函数

void ellipse(InputOutputArray img, Point center, Size axes, double angle, double startAngle, double endAngle,
const Scalar& color, int thickness = 1, int lineType = LINE_8, int shift = 0);

ellipse(img,(256,256),(100,50),0,0,180,255,-1)

这个函数有8个参数:图像名称,中心点坐标,长轴长度,短轴长度,旋转角度,图像出现的部分(长轴顺时针方向起始的角度和结束角度)0,180是下半个椭圆,颜色数组这里255是蓝色,线宽
椭圆要素:1.是中心点的位置坐标 2.长轴和短轴的长度 3.椭圆沿逆时针方向旋转的角度 4.长轴顺时针方向起始的角度和结束角度

5、polylines函数

画多边形
polylines(src, [points], True,color, thickness), points为点集,需要知道多边形顶点的集合

6、随机初始化颜色

经常遇到画出各种颜色的图形,这里我们用随机类RNG
用法如下:

RNG g_rng(12345);
Scalar color = Scalar(g_rng.uniform(0, 255),g_rng.uniform(0, 255), g_rng.uniform(0, 255));//任意值

7、putText函数

写字符串:cv2.putText(src, str, (x0,y0), font, size, color, thickness, linetype) 我们需要对图片加以注释,putText()就显得极其重要,各个参数中文意思为:绘画图像,文字,位置坐标,字体,字体大小,字体颜色,字体粗细及线型,建议线型使用cv2.LINE_AA,其中关于font,openCV支持的字体,看一下不同样式效果图(其他参数相同,仅改变字体格式,没有传递linetype,字体边缘锯齿还是比较严重),通常用第一种就够了。

总结

由于最近经常用到这些函数,这里做一下记录,以后用的时候直接回来看博客就行了,节省时间。


参考链接:

https://blog.csdn.net/weixin_43491924/article/details/85600996
https://blog.csdn.net/weixin_43491924/article/details/85218336
https://www.cnblogs.com/yujiachen/p/7672417.html?utm_source=debugrun&utm_medium=referral
https://www.cnblogs.com/mld-code-life/p/11197736.html
https://blog.csdn.net/bigat/article/details/80811789

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拾牙慧者

欢迎请作者喝奶茶

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值