opencv 画图
Cv 画直线
cv.line(img, (20, 100), (80, 100), (222, 111, 90), 5)
Img : 所要画直线的画板
(20, 100):直线初始坐标
(80, 100):直线的终止坐标
(222, 111, 90):直线的颜色 ----RGB数值
5:直线的宽度,此值不能为负数
Cv 画矩形
cv.rectangle(img, (20, 40), (140, 160), (10, 155, 40), 5)
Img:所要画矩形的画板
(20, 40):矩形的初始坐标
(140, 160):矩形初始坐标的对角坐标
(10, 155, 40):矩形边框线的颜色
5:矩形边框线的宽度,当此值为负数时,会将矩形内填充边框线颜色
Cv 画圆形
cv.circle(img, (80, 100), 60, (310, 234, 215), 5)
Img:所要画圆形的画板
(80, 100):圆心的坐标
60:圆形的半径
(310, 234, 215):圆形的边框线颜色
5:圆形的边框线宽度,当此值为负数时,会将圆形内填充边框线颜色
Cv 画椭圆
cv.ellipse(img, (256, 256), (100, 50), 0, 50, 180, (10, 155, 40), -1)
img:所要画椭圆的画板
(256, 256):椭圆的中心点
(100, 50):椭圆的长轴长和短轴长
0:椭圆整体的旋转角度
50:椭圆切割的起始角度
180:椭圆切割的终止角度
(10, 155, 40):椭圆的颜色
-1:椭圆的边框线宽度,当此值为正数时,颜色只为边框颜色,不填充内部
Cv 画多边形
cv.polylines(img, [pts], True, (0, 255, 255), 3)
Img:画多边形的画布
[pts]:pts自身是一个 numpy.ndarray 三维数组
eg:[[[380 250]]
[[420 320]]
[[420 370]]
[[470 310]]
[[480 50]]]
True:构成图形是否闭合状态,是False时,形成的图形将是一个折线
(0, 255, 255):此图形的边框线颜色
3:边框线的宽度,当为负数时,将会内部填充。
Cv 加入文本
cv.putText(img, 'txt--here', (10, 500), font, 1, (255, 255, 255), 2, cv.LINE_8)
Img:添加文本的画布
'txt--here':文本内容
(10, 500):文本的起始内容
Font:字体类型
1:字体大小
(255, 255, 255):字体颜色
2:字体描边宽度
cv.LINE_8:线条类型
综合代码案例
def numpy_ce():
import numpy as np
import cv2 as cv
img = np.zeros((512, 512, 3), np.uint8)
cv.line(img, (20, 100), (80, 100), (222, 111, 90), 5)
cv.rectangle(img, (20, 40), (140, 160), (10, 155, 40), 5)
cv.circle(img, (80, 100), 60, (310, 234, 215), 5)
cv.ellipse(img, (256, 256), (100, 50), 100, 0, 360, (310, 234, 215), 1)
cv.ellipse(img, (256, 256), (100, 50), 50, 0, 360, 210, -1)
cv.ellipse(img, (256, 256), (100, 50), 0, 50, 180, (10, 155, 40), -1)
pts = np.array([[380, 250], [420, 320], [420, 370], [470, 310], [480, 50]], np.int32)
print(pts, '--------------------int32')
pts = pts.reshape(-1, 1, 2)
print(pts, '----------shape -1,1,2')
cv.polylines(img, [pts], True, (0, 255, 255), 3)
font = cv.FONT_HERSHEY_SIMPLEX
cv.putText(img, 'txt--here', (10, 500), font, 1, (255, 255, 255), 2, cv.LINE_8)
cv.imshow('img--line', img)
cv.waitKey(0)
画图结果展示
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/0452999c6426ff21849d02c2cd0d400a.png)