所以我試圖獲取圖像的輪廓,但它似乎是錯誤的數據類型,我收到了這個錯誤:cv2.error:OpenCV(4.2.0)/Users/travis/build/skvark/opencv-python/opencv/modules/imgproc/src/contours.cpp:197:錯誤:(-210:不支持的格式或格式組合) [開始]FindContours 在 mode != CV_RETR_FLOODFILL 時僅支持 CV_8UC1 圖像,否則僅在函數 'cvStartFindContours_Impl' 中支持 CV_32SC1 圖像我讀到這可能是圖像不是二進制的問題,但是在我的情況下,我已經通過閾值轉換了圖像: im = cv2.imread("picture.jpg") cv2.cvtColor(im, cv2.COLOR_BGR2GRAY) (thresh, im_t) = cv2.threshold(im, 160, 255, cv2.THRESH_BINARY) im_tb = cv2.convertScaleAbs(im_t) #this does not seem to help either (contours, hierarchy) = cv2.findContours(im_tb,cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE)謝謝您的幫助
1 回答

慕少森
TA貢獻2019條經驗 獲得超9個贊
代替
cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
你應該使用
im = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
否則,轉換結果將被丟棄,您仍然擁有 3 通道 RGB 圖像。
添加回答
舉報
0/150
提交
取消