я пошел аппликате двусторонний фильтр в residuel изображения (Residel изображения = изображения origianle-изображения с weavlet преобразования) errer являетсядвусторонний фильтр residuel изображения
Ошибка при помощи bfilter2 (строка 35) Входное изображение A должна быть матрицей с двойной точностью размера NxMx1 или NxMx3 на закрытом интервале [0,1].
я пытался normalizate моих данных с:
f = rand(256,256)
normf = max(f) - min(f); % this is a vector
normf = repmat(normf, [length(f) 1]); % this makes it a matrix
% of the same size as A
normalizedf = f./normf;
valuue в матрице становится betwen [0,1], но ошибка все тот же NB: двусторонний фильтр TAHT я использую B = bfilter2 (A, W, SIGMA) выполняет двустороннюю двустороннюю фильтрацию для оттенков серого или цветного изображения A. A должна быть матрицей с двойной точностью размера NxMx1 или NxMx3 (то есть, грасивными или цветными изображениями соответственно) с нормализованными значениями в интервале [0,1]. Полуразмер окна гауссова двустороннего фильтра определяется W. Стандартные отклонения двустороннего фильтра задаются SIGMA, где стандартное отклонение по пространственной области задается SIGMA (1) и стандартное отклонение по шкале интенсивности по SIGMA (2). NB: размер моего изображения < 256х256 двойной>
Я проверил ваше предложение, и ошибка была «interval [0,1]. '], Так как я могу нормализовать свое значение, я использовал этот код, но я не знаю, почему это неправильно f = rand (256,256) normf = max (f) - min (f); % это вектор normf = repmat (normf, [length (f) 1]); % это делает его матрицей % того же размера, что и A normalizedf = f./normf; –
Вы забываете вычесть min (f) из f перед делением. Thats ваша проблема @ هاجرجمعة –
благодарит много :) Я делаю это, это работает, но я не знаю, правильно ли был преципикл, можете ли вы дать мне свое мнение, еще раз спасибо @ander biguri, f = rand (256,256) normf = max (f) - min (f); % это вектор normf = repmat (normf, [length (f) 1]); j = repmat (min (f), [length (f) 1]); k = f-j; normalizedff = k./normf; –