python-opencv在图片中绘制各种图形
1.绘制直线
2.绘制矩形
3.绘制圆
4.绘制椭圆
5.绘制多边形
6.嵌入文字
实现代码都在下面了,代码中参数做了简单注释
import copy
import math
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
import osimport cv2def cv_show(name,img):cv2.imshow(name,img)#cv2.waitKey(0),接收0,表示窗口暂停cv2.waitKey(0)#销毁所有窗口cv2.destroyAllWindows()'''礼帽运算:原图-开运算
黑帽运算:闭运算-原图'''img=np.zeros((512,512,3),np.uint8)
## 1.绘制直线
cv2.line(img,(0,0),#左上角坐标(256,256),#右下角坐标(255,0,0),#颜色5)#线条粗细## 2.绘制矩形
cv2.rectangle(img,(0,0),#左上角坐标(256,256),#右下角坐标(100,100,0),#颜色5)#线条粗细## 3.绘制圆cv2.circle(img,(255,255),#中心坐标40, #半径(255,0,0),5)#线条粗细## 4.绘制椭圆
cv2.ellipse(img,(256, 256),(256, 128),0, # 逆时针旋转角度0, # 开始角度360, # 结束角度(0, 0, 255),-1
)
pts=np.array([[50,50],#多边形连接节点坐标[400,100],[100,400]])## 5.绘制多边形cv2.polylines(img,[pts],True,(255,0,0),5)
## 6.嵌入文字
font=cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,'I like opencv',(50,300),#文字坐标font,#字体选择1,#字体大小(140,140,0)#字体颜色)img_line=img[:,:,::-1]
plt.imshow(img_line)
plt.show()os.system("pause")
运行结果如下: