opencv怎样做图形绘制?详解常用图形绘制实例
发布时间:2022-02-17 11:21 所属栏目:13 来源:互联网
导读:这篇文章给大家分享的是有关opencv图形绘制的内容,opencv是一个强大的图像处理和计算机视觉库,我们使用python opencv可以绘制圆形,矩形,线段等多种常用图形。下面我们就一起来看看怎么实现opencv图形绘制吧。 案例中实现了在图片中添加线段、圆形、矩形
这篇文章给大家分享的是有关opencv图形绘制的内容,opencv是一个强大的图像处理和计算机视觉库,我们使用python opencv可以绘制圆形,矩形,线段等多种常用图形。下面我们就一起来看看怎么实现opencv图形绘制吧。 案例中实现了在图片中添加线段、圆形、矩形、椭圆形以及添加文字的方法,使用 opencv2 实现的。 实现方法 1)画线段 cv.line 在图片中绘制一段直线 # 绘制线段 # 参数1:图片 # 参数2:起点 # 参数3:终点 # 参数4:BGR颜色 # 参数5:宽度 cv2.line(img, (60, 40), (90, 90), (255, 255, 255), 2); 参数说明 参数 值 说明 参数1 img 原图片 参数2 (60, 40) 线段起点坐标(像素) 参数3 (90, 90) 线段终点坐标(像素) 参数4 (255, 255, 255) BGR颜色(0 - 255) 参数5 2 线段宽度 2)画圆形 cv.circle 在图片中绘制圆形 # 绘制圆形 # 参数1:图片 # 参数2:圆心 # 参数3:半径 # 参数4:BGR颜色 # 参数5:宽度 值为-1时填充 cv2.circle(img, (140, 120), 60, (0, 0, 255), 2); 参数说明 参数 值 说明 参数1 img 原图片 参数2 (140, 120) 圆心的坐标(像素) 参数3 60 圆的半径(像素) 参数4 (0, 0, 255) BGR颜色(0 - 255) 参数5 2 线段宽度,为-1时进行填充 3)画矩形 cv.rectangle 在图片中绘制矩形 # 绘制矩形 # 参数1:图片 # 参数2:左上角 # 参数3:右下角 # 参数4:BGR颜色 # 参数5:宽度 值为-1时填充 cv2.rectangle(img, (220, 50), (380, 220), (0, 255, 0), 2); 参数说明 参数 值 说明 参数1 img 原图片 参数2 (220, 50) 左上角的坐标(像素) 参数3 (380, 220) 右下角的坐标(像素) 参数4 (0, 255, 0) BGR颜色(0 - 255) 参数5 2 线段宽度,为-1时进行填充 4)画椭圆形 cv.ellipse 在图片中绘制椭圆形,这里参数就比较多了… # 绘制椭圆 # 参数1:图片 # 参数2:圆心 # 参数3:横纵轴长 # 参数4:倾斜角度 # 参数5:绘制起点角度 # 参数6:绘制终点角度 # 参数7:BGR颜色 # 参数8:宽度 值为-1时填充 cv2.ellipse(img, (60, 20), (60, 20), 0, 0, 360, (255, 255, 255), 2); 参数说明 参数 值 说明 参数1 img 原图片 参数2 (60, 20) 椭圆中心坐标(像素) 参数3 (60, 20) 椭圆横、纵的距离(像素) 参数4 0 椭圆倾斜角度(0-360) 参数5 0 绘制起点角度(0-360) 参数6 0 绘制终点角度(0-360) 参数7 (255, 255, 255) BGR颜色(0 - 255) 参数8 2 线段宽度,为-1时进行填充 5)添加文本 cv.putText 给图片添加文本显示内容 # 添加文字 # 参数1:图片 # 参数2:文本内容 # 参数3:文字位置 # 参数4:文字类型 # 参数5:文字大小 # 参数6:BGR颜色 # 参数7:文字粗细 cv2.putText(img, "phone", (15, 30), cv2.FONT_HERSHEY_COMPLEX, 1, (0, 0, 255), 1); 参数说明 参数 值 说明 参数1 img 原图片 参数2 “phone” 文本内容 参数3 (15, 30) 文本左上角坐标位置(像素) 参数4 cv2.FONT_HERSHEY_COMPLEX 文字类型 参数5 1 文字大小 参数7 (255, 255, 255) BGR颜色(0 - 255) 参数8 1 字体粗细 文字类型主要有下面几种: 1、cv.FONT_HERSHEY_SIMPLEX 正常尺寸无衬线 2、cv.FONT_HERSHEY_PLAIN 小尺寸无衬线 3、cv.FONT_HERSHEY_DUPLEX 正常尺寸(类型 1 的复制版) 4、cv.FONT_HERSHEY_COMPLEX 正常尺寸有衬线 5、cv.FONT_HERSHEY_TRIPLEX 正常尺寸有衬线(类型 4 的复杂版) 6、cv.FONT_HERSHEY_COMPLEX_SMALL (类型 4 的小尺寸) 7、cv.FONT_HERSHEY_SCRIPT_SIMPLEX 手写风格 8、cv.FONT_HERSHEY_SCRIPT_COMPLEX (类型 7 的复杂版) 以上字体可以试一下,可以看到不同的效果 (^_ ^) 完整代码 import cv2 # 读取图片。 img = cv2.imread("img.jpeg"); # 绘制线段 # 参数1:图片 # 参数2:起点 # 参数3:终点 # 参数4:BGR颜色 # 参数5:宽度 cv2.line(img, (60, 40), (90, 90), (255, 255, 255), 2); # 绘制圆形 # 参数1:图片 # 参数2:圆心 # 参数3:半径 # 参数4:BGR颜色 # 参数5:宽度 值为-1时填充 cv2.circle(img, (140, 120), 60, (0, 0, 255), 2); # 绘制椭圆 # 参数1:图片 # 参数2:圆心 # 参数3:横纵轴长 # 参数4:倾斜角度 # 参数5:绘制起点角度 # 参数6:绘制终点角度 # 参数7:BGR颜色 # 参数8:宽度 值为-1时填充 cv2.ellipse(img, (60, 20), (60, 20), 0, 0, 360, (255, 255, 255), 2); # 绘制矩形 # 参数1:图片 # 参数2:左上角 # 参数3:右下角 # 参数4:BGR颜色 # 参数5:宽度 值为-1时填充 cv2.rectangle(img, (220, 50), (380, 220), (0, 255, 0), 2); # 添加文字 # 参数1:图片 # 参数2:文本内容 # 参数3:文字位置 # 参数4:文字类型 # 参数5:文字大小 # 参数6:BGR颜色 # 参数7:文字粗细 cv2.putText(img, "phone", (15, 30), cv2.FONT_HERSHEY_COMPLEX, 1, (0, 0, 255), 1); cv2.putText(img, "36.4C", (250, 250), cv2.FONT_HERSHEY_COMPLEX, 1, (0, 255, 0), 2); # 显示图像 cv2.imshow("title", img); # 进程不结束,一直保持显示状态 cv2.waitKey(0); #销毁所有窗口 cv2.destroyAllWindows(); 以上就是关于opencv图形绘制的方法介绍,本文介绍了线段、矩形、圆形、椭圆等图形的绘制,想要了解更多以opencv图形绘制,可以关注其他相关文章。 (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读