標籤:python opencv 幾何映像
簡單幾何映像一般包括點、直線、矩陣、圓、橢圓、多邊形等等。首先認識一下opencv對像素點的定義。映像的一個像素點有1或者3個值,對灰階映像有一個灰階值,對彩色映像有3個值組成一個像素值,他們表現出不同的顏色。
那麼有了點才能組成各種多邊形。
(一)首先繪製直線
函數為:cv2.line(img,Point pt1,Point pt2,color,thickness=1,line_type=8 shift=0)
有值的代表有預設值,不用給也行。可以看到這個函數主要接受參數為兩個點的座標,線的顏色(彩色映像的話顏色就是一個1*3的數組)如下:
import cv2import numpy as npfrom matplotlib import pyplot as pltimg = np.zeros((512,512),np.uint8)#產生一個空灰階映像cv2.line(img,(0,0),(511,511),255,5)plt.imshow(img,‘gray‘)
import cv2import numpy as npfrom matplotlib import pyplot as pltimg = np.zeros((512,512,3),np.uint8)#產生一個空彩色映像cv2.line(img,(0,0),(511,511),(155,155,155),5)plt.imshow(img,‘brg‘)
(二)繪製矩形
函數:cv2.rectangle(img,(380,0),(511,111),(255,0,0),3),需要確定的就是矩形的兩個點(左上方與右下角),顏色,線的類型(不設定就預設)。
比如:
import cv2import numpy as npfrom matplotlib import pyplot as pltimg = np.zeros((512,512,3),np.uint8)#產生一個空彩色映像cv2.rectangle(img,(20,20),(411,411),(55,255,155),5)plt.imshow(img,‘brg‘)
(三)繪製圓形
繪製圓形也很簡單,只需要確定圓心與半徑,函數:
cv2.circle (img,(380,0),63,(255,0,0),3),比如:
import cv2import numpy as npfrom matplotlib import pyplot as pltimg = np.zeros((512,512,3),np.uint8)#產生一個空彩色映像cv2.circle(img,(200,200),50,(55,255,155),1)#修改最後一個參數plt.imshow(img,‘brg‘)
import cv2import numpy as npfrom matplotlib import pyplot as pltimg = np.zeros((512,512,3),np.uint8)#產生一個空彩色映像cv2.circle(img,(200,200),50,(55,255,155),8)#修改最後一個參數plt.imshow(img,‘brg‘)
(四)繪製橢圓
橢圓比較複雜,涉及到長軸短軸,橢圓圓心,旋轉角度等等,看看opencv參考手冊上的介紹吧:
映像化如下:
一個例子如下:
import cv2import numpy as npfrom matplotlib import pyplot as pltimg = np.zeros((512,512,3),np.uint8)#產生一個空彩色映像cv2.ellipse(img,(256,256),(150,100),0,0,180,250,-1)#注意最後一個參數-1,表示對映像進行填充,預設是不填充的,如果去掉,只有橢圓輪廓了plt.imshow(img,‘brg‘)
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
Python下opencv使用筆記(二)(簡單幾何映像繪製)