簡單幾何圖像一般包含點、直線、矩陣、圓、橢圓、多邊形等等。首先認識一下opencv對像素點的定義。
圖像的一個像素點有1或者3個值。對灰度圖像有一個灰度值,對彩色圖像有3個值組成一個像素值。他們表現出不同的顏色。
那么有了點才干組成各種多邊形。
(一)首先繪制直線
函數為:cv2.line(img,Point pt1,Point pt2,color,thickness=1,line_type=8 shift=0)
有值的代表有默認值。不用給也行。能夠看到這個函數主要接受參數為兩個點的坐標,線的顏色(彩色圖像的話顏色就是一個1*3的數組)例如以下:
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = np.zeros((512,512),np.uint8)#生成一個空灰度圖像
cv2.line(img,(0,0),(511,511),255,5)
plt.imshow(img,'gray')
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = 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 cv2
import numpy as np
from matplotlib import pyplot as plt
img = np.zeros((512,512,3),np.uint8)#生成一個空彩色圖像
cv2.rectangle(img,(20,20),(411,411),(55,255,155),5)
plt.imshow(img,'brg')
(三)繪制圓形
繪制圓形也非常easy,僅僅須要確定圓心與半徑,函數:
cv2.circle (img,(380,0),63,(255,0,0),3),比方:
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = np.zeros((512,512,3),np.uint8)#生成一個空彩色圖像
cv2.circle(img,(200,200),50,(55,255,155),1)#改動最后一個參數
plt.imshow(img,'brg')
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = np.zeros((512,512,3),np.uint8)#生成一個空彩色圖像
cv2.circle(img,(200,200),50,(55,255,155),8)#改動最后一個參數
plt.imshow(img,'brg')
(四)繪制橢圓
橢圓比較復雜,涉及到長軸短軸,橢圓圓心,旋轉角度等等,看看opencv參考手冊上的介紹吧:
圖像化例如以下:
一個樣例例如以下:
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = np.zeros((512,512,3),np.uint8)#生成一個空彩色圖像
cv2.ellipse(img,(256,256),(150,100),0,0,180,250,-1)
#注意最后一個參數-1,表示對圖像進行填充,默認是不填充的,假設去掉,僅僅有橢圓輪廓了
plt.imshow(img,'brg')