2016-08-05 101 views
-2

我想通過matlab在8位單通道uint8圖像上應用cv.adaptiveThreshold(opencv),但我總是收到錯誤。我曾嘗試下面的代碼從這個網站:https://kyamagu.github.io/mexopencv/matlab/adaptiveThreshold.html自適應閾值處理Matlab-Opencv

th = cv.adaptiveThreshold(img,255,'Method',mean,'Type',binary,3,2); 

,這讓我沒有足夠的輸入參數的誤差。 當我運行像這樣:

th = cv.adaptiveThreshold(img); 

可以正常工作,但是這不是我想要的。我不想應用默認方法和標準。

感謝您的幫助。

+0

我從來沒有嘗試過,但我99%肯定的解決方案是: 'cv.adaptiveThreshold(IMG「的MaxValue」, 255,'方法',表示'Type',二進制,'BlockSize',3,'C',2);'。我的意思是,你爲什麼只指定了一些選項名稱? –

+0

@AnderBiguri,謝謝。我的錯。我忘了這麼做。但是二進制文件仍然存在問題。 (img,1),'Type',二進制,'BlockSize',5,'C',5); 未定義的函數或變量「二進制」。你有什麼主意嗎? 我有我的mathlab路徑中的功能。 – Sam

+0

嘗試「Binary」而不是「binary」。沒有冒犯,但你可能需要學習一些基本的編程/類型。 –

回答

1

閱讀文檔。你是不是下面的函數參數列表

cv.adaptiveThreshold(img,'MaxValue',255,'Method','Mean','Type','Binary','BlockSize',3,'C',2); 

應該工作

+0

謝謝!正常工作。 – Sam