python中關於Opencv中關於矩形的函式總結

2021-10-25 17:35:41 字數 1515 閱讀 7050

最近處理影象,以前用的都是matlab,現在入手python比較慢,這幾天看到了很多命名和功能相似的函式,作個記錄總結一下~只是為了能夠看下函式知道它是做什麼的,因此不會對其用法說得面面俱到。看到乙個文章講得清晰詳實,分享一下:

功能:計算輪廓內的面積

示例:輸入為乙個點集

# contours[0]為前面用cv2.findcontours函式得到的輪廓點集

num_area=cv2.contourarea(contours[0]

)print

'面積:'

+str

(num_area)

# 計算輪廓的周長

num_perimeter=cv2.arclength(contours[0]

,true

)print

'周長:'

+str

(num_perimeter)

功能:獲得輸入點集的最小面積的外接矩形包絡,所以一般是斜的

示例:輸入為乙個輪廓點集,但輸出的結果不是乙個直接的矩形,需要用cv2.boxpoints返回最小外接矩形的四個座標,再傳入cv2.rectangle函式畫出來

img_minrect=cv2.minarearect(contours[0]

)# 為矩形的中心點座標

print img_minrect[0]

# 為矩形的長和寬

print img_minrect[1]

# 為矩形的旋轉角度,角度範圍是[-90,0)

print img_minrect[

2]

功能:獲得輸入點集的最小正外接矩形包絡

示例:輸入為乙個點集,直接輸出外接矩形的左上角頂點座標x、y、長和寬,因此若要顯示的話,直接傳入cv2.rectangle函式畫出來

功能:返回矩形四個頂點的座標

示例:緊接著cv2.minarearect函式的輸出結果

img_minrect=cv2.minarearect(contours[0]

)box = cv2.boxpoints(img_minrect)

box = np.int0(box)

功能:根據傳入的兩個頂點引數——左上角(x,y)和右下角(x+w,y+h),框出乙個矩形

示例:輸入為一張影象,要框的矩形範圍的左上角和右下角的頂點座標,邊框顏色,邊框粗細(若為負值,則矩形會填充滿顏色),邊框線的種類,邊框平移量。一般後面兩個引數不用寫

img_rect=cv2.rectangle(img,

(100

,100),

(300

,300),

(0,0

,255),

2)

功能:返回點集的最小外接曲線擬合的多邊形

示例:輸入為乙個點集、指定精度(值越小,外接多邊形的輪廓越接近曲線,因此需靠近要擬合的點集,即接近圓,值越大,則接近直線)、true(擬合曲線需閉合)

true

)

關於OpenCV中IplImage的位元組對齊問題

最近利用做專案,遇到了乙個問題 我是用opencv讀的影象,然後自己新開闢了乙個空間,以下是 byte inputimage null iplimage image get null image get cvloadimage imagename,0 imagewidth image get wid...

關於OPENCV中IplImage所儲存

關於opencv中iplimage所儲存資料的討論 shelliar opencv一書中,對iplimage和cvmat的講述不夠詳細,很多時候當我們處理影象的時候,我們會避免用cvmat而是直接用iplimage的方法。iplimage這個結構體中儲存影象資料的部分是char imagedata,...

python環境中安裝opencv

由於影象處理用cv2庫方便一些,我最近決定在往專案中匯入cv2的包。但是遇到了好多坑,現在說明一下。我的環境是anaconda4.5.8 python 3.6.5 win10 要在pycharm中匯入opencv包 環境的版本是怎麼看的呢。首先。進入anaconda prompt命令列,然後選擇對應...