4 OpenCV 中的繪圖函數

OpenCV 中的繪圖函數

目標

  • 學習使用 OpenCV 繪製不同幾何圖形
  • 你將會學習到這些函數:cv2.line(), ,cv2.circle(), ,cv2.rectangle() ,cv2.ellipse() ,cv2.putText() 等

cv2.line 畫線

cv2.line(img, pt1, pt2, color, thinckness) 

第一個參數 img:要劃的線所在的圖像;
第二個參數 pt1:直線起點
第三個參數 pt2:直線終點
第四個參數 color:顏色
第五個參數 thickness=1:線條粗細

cv.rectangle 畫矩形

cv2.rectangle(img, pt1, pt2, color, thinckness)

第一個參數 img:要劃的線所在的圖像;
第二個參數 pt1:左上角起點
第三個參數 pt2:右下角終點
第四個參數 color:顏色
第五個參數 thickness=1:線條粗細

cv.circle 畫圓

cv2.circle(img, pt1, length, color, thinckness)

第一個參數 img:要劃的線所在的圖像;
第二個參數 pt1:圓心
第三個參數 length:半徑
第四個參數 color:顏色
第五個參數 thickness=1:線條粗細

cv.ellipse 畫橢圓

畫橢圓比較複雜,我們要多輸入幾個參數。
第一個參數 img:要劃的線所在的圖像;
第二個參數 是中心點的位置座標。
第三個參數 是長軸和短軸的長度。
第四 五個參數 橢圓沿逆時針方向旋轉的角度。橢圓弧演順時針方向起始的角度和結束角度,如果是 0 和 360,就是整個橢圓。
下面的例子是在圖片的中心繪製半個橢圓。

cv.polylines

pts=np.array([[10,5],[20,30],[70,20],[50,10]], np.int32)
pts=pts.reshape((-1,1,2))
這裏 reshape 的第一個參數爲 -1, 表明這一維的長度是根據後面的維度的計算出來的。

在圖片上添加文字

設置字體格式
font=cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img, text, pt1, font, size, color = (255,255,255), 線條類型)

代碼實現

import cv2
import numpy as np
import matplotlib.pyplot as plt

%matplotlib inline

img = np.zeros((800, 800, 3), np.uint8)
pt1 = (100, 100)
pt2 = (200, 200)
color = (255, 0, 0)
length = 50
thinckness = 3
cv2.line(img, pt1, pt2, color, thinckness)

cv2.rectangle(img, pt1, pt2, color, thinckness)

cv2.circle(img, pt1, length, color, thinckness)

cv2.ellipse(img,(256,256),(100,50),0,0,180,255,-1)

pts=np.array([[100,50],[200,300],[700,200],[500,100]], np.int32)
pts=pts.reshape((-1,4,2))

cv2.polylines(img, pts, isClosed = True, color = color)

font=cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,'OpenCV',(10,500), font, 4,(255,255,255),2)

cv2.imshow('line', img)
plt.imshow(img)
cv2.waitKey(0)
cv2.destroyAllWindows()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章