我試圖繪製我的測試圖像周圍的輪廓。我在後臺使用Canny邊緣檢測。Python drawContours方法在應用的圖像上沒有任何東西(OpenCV)
findContours
方法適用於我的圖像,但是當我嘗試對該圖像執行drawContours
方法時。它沒有顯示任何東西。
這是我曾嘗試
import cv2
import numpy as np
image = cv2.imread('/path/to/image.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
blurred = cv2.GaussianBlur(gray, (11, 11), 0)
cv2.imshow("blurred", blurred)
canny = cv2.Canny(blurred, 30, 150)
(_, cnts, _) = cv2.findContours(canny.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
print "Contours in the image, %d" % (len(cnts))
shape = image.copy()
cv2.drawContours(shape.copy(), cnts, -1, (0, 255, 0), 2)
cv2.imshow("Edges", shape)
從我從文檔收集,第四個參數的方法drawContours
將用於指定邊緣的顏色繪製了過來。但它沒有顯示任何東西,而不是我期待的綠色邊緣。
len(cnts)
回報2,我
這裏是圖像我想它與
我使用OpenCV的版本3.0.0
編輯:改後將cv2.findContours()
的第三個參數設置爲cv2.CHAIN_APPROX_NONE
,但它仍未在最終的cv2.imshow("Edges", shape)
圖像上顯示最終的綠色邊緣(或針對該問題的任何顏色)。以下是我從精明的邊緣圖像獲得
試着用'cv2.CHAIN_APPROX_NONE' – ZdaR
@ZdaR請編輯的問題 –