Функция NLFILTER ожидала, что ее первый вход A будет двумерным - PullRequest
0 голосов
/ 17 марта 2012

когда я пишу эти коды в MATLAB (скрипт)

I=imread('f:\oli.tif');
I2=nlfilter(I,[3 3],'std2');
imshow(I2)

выдает следующие ошибки:

Error using iptcheckinput
Function NLFILTER expected its first input, A, to be two-dimensional.

Error in nlfilter>parse_inputs (line 134)
iptcheckinput(a,{'logical','numeric'},{'2d'},mfilename,'A',1);

Error in nlfilter (line 51)
[a, nhood, fun, params, padval] = parse_inputs(varargin{:});

Error in Untitled21111111 (line 2)
I2=nlfilter(I,[3 3],'std2');

что не так?

1 Ответ

3 голосов
/ 17 марта 2012

Я не могу проверить это здесь, но если я могу правильно вспомнить, параметр для nlfilter должен быть изображением в градациях серого, и, возможно, вы передаете это rgb.

Попробуйте:

I=imread('f:\oli.tif');
I2=nlfilter(rgb2gray(I),[3 3],'std2');
imshow(I2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...