天天看點

OpenCV-Python learning-3.繪制

繪制基本線條圖形

import numpy as np
import cv2

img = np.zeros((512,512,3), np.uint8)
#np.zeros()有兩個參數,一個是建立的圖檔矩陣大小,另一個是資料類型
#所謂大小,512,512是指圖檔占像素為512x512,3則是指BGR三種顔色
#uint8無符号整形8位,因為每種顔色都是0到255
#ay=np.zeros((2,2,3))
#print(ay)
img = cv2.line(img,(0,0),(511,511),(255,0,0),5)#畫線,5為寬度
img = cv2.rectangle(img,(384,0),(510,128),(0,255,0),3)
img = cv2.circle(img,(447,63), 63, (0,0,255), -1)#【2】為圓心,【3】為半徑,-1表示填充
img = cv2.ellipse(img,(256,256),(100,50),0,0,270,255,-1)#【3】為長軸和短軸,【4】為逆時針旋轉角度,【5】【6】為相對于中心點順時針極坐标角度開始結束

pts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32)
#pts = pts.reshape((-1,1,2))#等于-1的話,那麼Numpy會根據剩下的次元計算出數組的另外一個shape屬性值。
img = cv2.polylines(img,[pts],True,(0,255,255),2)#【3】是否閉合

font = cv2.FONT_HERSHEY_SIMPLEX#https://docs.opencv.org/2.4/modules/core/doc/drawing_functions.html?highlight=puttext#initfont
cv2.putText(img,'OpenCV',(10,500), font, 4,(255,255,255),2,cv2.LINE_AA)#【3】左上角坐标,【5】字型大小,【6】顔色,【7】字型粗細,[8]表示抗鋸齒

cv2.imshow("hello",img)
while cv2.waitKey(0)!=27:#esc鍵退出
    pass