最近處理影象,以前用的都是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命令列,然後選擇對應...