2
我試圖獲得與OpenCV的和Python,這裏的代碼圖像中的最大面積:問題提取contourArea的OpenCV(蟒蛇)
#Loading image:
fuente=cv.LoadImage('train/fruit1.jpg')
#Converting to grayscale...
#Converting to binary...
#Apply canny method...
#Dilating borders...
#Trying obtain contours:
storage = cv.CreateMemStorage(0)
contours = cv.FindContours(bordes, storage, cv.CV_RETR_EXTERNAL, cv.CV_CHAIN_APPROX_SIMPLE,(0,0))
#Drawing Contours...
contornoimg=cv.CreateImage(cv.GetSize(fuente),fuente.depth,1)
cv.DrawContours(contornoimg,contours,cv.Scalar(255),cv.Scalar(0),2,1,8,(0,0));
cv.SaveImage("train/contornos.png",contornoimg);
如果現在我打開imagen畫質「contornos.png」,我可以看到輪廓型動物,不僅是一個,就像我想最大的輪廓,我要計算與面積最大的輪廓
max_area = -1
best_cnt = None
for cnt in contours:
area = cv.ContourArea(cnt,slice=cv.CV_WHOLE_SEQ)
if area > max_area:
max_area = area
best_cnt = cnt
但是,當我執行該文件,獲得此錯誤消息:
cv.ContourArea(cnt,cv.CV_WHOLE_SEQ)->AttributeError: 'module' object has no attribute 'CV_WHOLE_SEQ'
任何幫助?感謝你所做的一切!
這將是很好,如果你可以上傳您使用的圖像 - 使我們更容易測試您的代碼。此外,通過使用Python的新cv2接口,你可以讓你的生活變得更輕鬆。我最近換了,真的更方便。 – casper
這是禁止上傳圖片的新用戶,我試過了,但我不得不刪除它們,但不必擔心,昨天我決定改用cv2,舊版本有很多問題,所以我不得不改變我的所有功能都可以在cv2和我提取的區域沒有問題,謝謝! – psych0
很高興你的工作! – casper