2016-08-05 6 views
-2

Я хотел применить cv.adaptiveThreshold (opencv) через matlab для 8-битного одноканального изображения uint8, но я всегда получаю ошибку. Я попытался следующий код с этого сайта: 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, «Метод», «Тип», «Бинарный», «BlockSize», 3, «C», 2); '. Я имею в виду, почему вы указали только * некоторые * имен опций? –

+0

@AnderBiguri, спасибо. Виноват. Я забыл это сделать. Но все же есть проблема с двоичным. th = cv.adaptiveThreshold (img, 255, 'Method', mean (img, 1), 'Type', двоичный, 'BlockSize', 5, 'C', 5); Неопределенная функция или переменная «двоичная». Есть ли у вас какие-либо идеи? У меня есть функция в моем пути к математике. – Sam

+0

попробуйте '' Binary'' вместо 'binary'. Не обижайтесь, но вам, возможно, придется изучить некоторые базовые программы/типы. –

ответ

1

Прочтите документацию. У вас нет списка аргументов функции

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

должен работать

+0

Спасибо! Правильно работает. – Sam

 Смежные вопросы

  • Нет связанных вопросов^_^