Python OpenCV 報錯 error: (-215:Assertion failed)

error: (-215:Assertion failed) !_image.empty() && _image.type() == (((0) & ((1 << 3) - 1)) + (((1)-1) << 3)) && (_image.isMat() || _image.isUMat()) in function 'cv::HoughCircles'

出現在用Python cv2 實現霍夫圓檢測過程中

原代碼

img = cv2.imread("pipe.jpg")
circles = cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, 1, 5)

出現這種錯誤,原因是沒有正確導入圖像

可能原因:

  • 圖片路徑不正確
  • 路徑或文件名有中文
  • 文件數量或格式不符

這裏的原因是第三點,經過試驗,霍夫圓檢測文件輸入應爲灰度圖,所以有以下兩種方式:

cv2.imread時flag=0

img = cv2.imread("pipe.jpg", 0)
circles = cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, 1, 5)

或者進行灰度轉換

img = cv2.imread("pipe.jpg")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
circles = cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, 1, 5)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章