目录
- 1、line函数
- 2、circle函数
- 3、rectangle、Rect函数
- 4、ellipse函数
- 5、polylines函数
- 6、随机初始化颜色
- 7、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