Opencv學習筆記————繪圖函數

  1. 畫線
cv2.line(img,(0,0),(511,511),(255,0,0),5)

img爲想要繪製圖形的那副圖像,第二個參數爲線條的起點,第三個爲終點,第四個爲顏色,第五個爲線條粗細
2.畫圓

cv2.circle(img,(447,63), 63, (0,0,255), -1)#需要指定圓的圓心和半徑
  1. 畫矩形
cv2.rectangle(img,(384,0),(510,128),(0,255,0),3)#第二個參數爲左上角頂點座標,第三個參數爲右下角頂點座標
  1. 畫橢圓
    一個參數是中心點的位置座標。下一個參數是長軸和短軸的長度。橢圓沿逆時針方向旋轉的角度。橢圓弧沿順時針方向起始的角度和結束的角度,如果是 0 和 360度就是整個橢圓。
cv2.ellipse(img,(256,256),(100,50),0,0,180,255,-1)
  1. 畫多邊形
    畫多邊形,需要指定每個頂點的座標。用這些點的座標構建一個大小等於
    行數 X1X2 的數組,行數就是點的數目。這個數組的數據類型必須爲 int32。
    這裏畫一個黃色的具有四個頂點的多邊形。
pts=np.array([[10,5],[20,30],[70,20],[50,10]], np.int32)
pts=pts.reshape((-1,1,2))

6.綜合例程

import cv2 as cv
import numpy as np

color = cv.FONT_HERSHEY_COMPLEX
cap = cv.VideoCapture(0)
cap.set(3, 640) #設定的長寬大小
cap.set(4, 480)

while True:
    ret, frame = cap.read()
    cv.putText(frame, 'zeng chao', (100, 240), color, 2, (255, 255, 255), 2)#add text
    cv.circle(frame, (320, 240), 10, (0, 255, 255), -1) #320 240
    cv.rectangle(frame, (310, 230), (330, 250), (0, 255, 0), 1)
    cv.line(frame, (0, 0), (640, 480), (10, 10, 80), 3)
    cv.line(frame, (640, 0), (0, 480), (10, 10, 80), 3)
    cv.imshow('image', frame)
    if cv.waitKey(1) & 0xFF == ord('q'):
        break
while True:
    ret, frame = cap.read()
    cv.ellipse(frame, (320, 240), (200, 100), 0, 0, 360, (0, 255, 0), 5)

    cv.imshow('image', frame)
    if cv.waitKey(1) & 0xFF == ord('q'):
        break
cap.release()
cv.destroyAllWindows()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章