Применение пороговой маски - PullRequest
0 голосов
/ 22 мая 2011

Я делаю сжатие изображений в Matlab.

После того, как я применил DCT к изображению и у меня была матрица img, я хочу применить пороговую маску к этой матрице.

mask =     [1   1   1   1   0   0   0   0
            1   1   1   0   0   0   0   0
            1   1   0   0   0   0   0   0
            1   0   0   0   0   0   0   0
            0   0   0   0   0   0   0   0
            0   0   0   0   0   0   0   0
            0   0   0   0   0   0   0   0
            0   0   0   0   0   0   0   0];

maskedImg = blkproc(img,[8 8],mask );

Я использовал эту функцию, но она не работала, и я получаю ошибкусообщение:

Ошибка в ==> blkproc на 67 [a, block, border, fun, params, padval] = parse_inputs (varargin {:});

1 Ответ

2 голосов
/ 22 мая 2011

Согласно последней Matlab документации; ближайший blockproc синтаксис (для вашего случая) равен B = blockproc(A,[M N],fun). Так что, очевидно, ваш mask действительно должен быть функцией!

Однако я вспоминаю, что blkproc была действительной Matlab функцией некоторое время назад, поэтому дважды проверьте правильный способ ее вызова, набрав (в командной строке) > help blkproc. (Хотя я вполне уверен, что он поделится подписью вызывающего абонента с blockproc [в данном случае]).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...