Pergunta

Quero calcular a média de algumas imagens .jpg que estão corrompidas por ruído aditivo gaussiano de média zero.Depois de pesquisar, descobri como somar as matrizes da imagem e dividir a soma pelo número de matrizes.No entanto, a imagem resultante é totalmente preta.Normalmente, quando o número de imagens aumenta, a imagem resultante fica melhor.Mas quando uso mais imagens fica mais escuro.

Estou usando imagens .jpg em preto e branco de 800x600.Aqui está o script que usei:

image1 = imread ('PIC1.jpg');
image2 = imread ('PIC2.jpg');
image3 = imread ('PIC3.jpg');
image4 = imread ('PIC4.jpg');

sum = image1 + image2 + image3 + image4; 
av = sum / 4; 
imshow(av);
Foi útil?

Solução

O problema é provavelmente que os dados da imagem são todos do tipo uint8, portanto, somá-los todos causa uma saturação no valor de 255 para os valores de pixel, proporcionando uma imagem quase toda branca que acaba parecendo quase toda preta quando você divide pelo número de imagens.Você deve converter suas imagens para outro tipo de dados, como double, em seguida, calcule a média e converta novamente para uint8:

% Load your images:
image1 = imread('PIC1.jpg');
image2 = imread('PIC2.jpg');
image3 = imread('PIC3.jpg');
image4 = imread('PIC4.jpg');

% Convert the images to type double and sum them:
imageSum = double(image1) + double(image2) + double(image3) + double(image4);

% Divide by the number of images and convert back to type uint8:
averageImage = uint8(imageSum./4);

% Display the averaged image:
imshow(averageImage);

NOTA: Você deve evitar dar às suas variáveis ​​os mesmos nomes de quaisquer funções existentes, pois isso pode causar problemas/confusão.É por isso que mudei a variável sum para imageSum (há uma função integrada sum).

Outras dicas

Uma solução alternativa usando Imlincomb Na caixa de ferramentas de processamento de imagem:

I = imlincomb(0.25,I1, 0.25,I2, 0.25,I3, 0.25,I4);

Você também pode usar o ImagesC (MédiaImage); Esta função com a escala automática da imagem e não parecerá preto

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top