Добавление рисового шума в Matlab - PullRequest
0 голосов
/ 31 октября 2018

Я импортирую изображение с моего компьютера в Matlab, и моя главная цель - добавить шум Рика. Но это не работает. Все время появляется это предупреждение:

Размеры матрицы должны совпадать.

Алгоритм будет использоваться позже, поэтому размеры изображений будут разными. В данном конкретном случае размеры sz1 и sz2 равны 384 *1242* 1010 *. Размер J равен 384 * 414 * 3 double. I имеет то же измерение, что и J, но это uint8.

Не могли бы вы дать мне подсказку, чтобы я мог сделать это функциональным?

clear all; close all; clc;

I = imread('test.png');

J = double(im2uint8(I))
[sz1 sz2]=size(J);

realchannel = normrnd(0,0.5,sz1,sz2) + J; % 0.5 is the gaussian noise level
imaginarychannel = normrnd(0,0.5,sz1,sz2);
noisyimage = sqrt(realchannel.^2 + imaginarychannel.^2); % now the image has Rician distributed noise
...