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")
運行結果如下: