2015-06-16 49 views
0

我很擅長圖像處理。我可以成功地進行正常的閾值處理,但是我在自適應閾值處理中遇到了一個錯誤。 這裏是我的代碼:自適應閾值--- ValueError:太多值來解壓

import cv2 

import numpy as np 

img = cv2.imread("vehicle004.jpg") 

img = cv2.medianBlur(img,5) 

gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) 

_,th2=cv2.adaptiveThreshold(gray,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY,11,2) 

cv2.imshow("window2",th2) 

cv2.waitKey(0) 

cv2.destroyAllWindows() 

錯誤消息:

line 7, in <module> 
    _,th2 = cv2.adaptiveThreshold(gray,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY,11,2) 
ValueError: too many values to unpack 

任何幫助表示讚賞。

回答

1

作爲每documentation,即閾值圖像並且在這種情況下,你正在試圖從該方法得到的2個值的cv2.adaptiveThreshold()只返回值1,這就是爲什麼ValueError: too many values to unpack引發錯誤。

固定問題後的代碼可能看起來像:

import cv2 

import numpy as np 

img = cv2.imread("vehicle004.jpg") 

img = cv2.medianBlur(img,5) 

gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) 

th2=cv2.adaptiveThreshold(gray,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY,11,2) 

cv2.imshow("window2",th2) 

cv2.waitKey(0) 

cv2.destroyAllWindows() 
+0

非常感謝。 它的工作。 –

相關問題