Exemplo simples de operação de imagem do Matlab

1. O objetivo do experimento

1. Compreenda o significado e os meios de operação da imagem;
2. Domine o método
de operação algébrica e operação geométrica da imagem ; 3. Domine o método de adição e remoção de ruído da
imagem ; 4. Compare as alterações entre as imagens após cada operação. ;

Segundo, a tarefa experimental

O experimento requer a criação de um programa para concluir os seguintes requisitos:
1. Leia duas imagens, conclua as operações básicas de álgebra e exiba os resultados de cada operação;
2. Adicione ruído a sal e pimenta a uma imagem e exiba o mesmo da imagem anterior. Na caixa de diálogo da imagem:
3. Use um loop for para adicionar 100 imagens com ruído e calculá-las em média e exibir as imagens em média.
4. Amplie a imagem em 1,5 vezes e diminua em 0,8 vezes, respectivamente.O método de interpolação usa interpolação bilinear. Gire a imagem 45 graus no sentido horário para exibir a imagem girada.
5. Crie as etapas da experiência e preencha o relatório da experiência.

3. Conteúdo experimental

O programa de origem do Matlab é o seguinte:

clear
clc
I1=imread('rice.png');
I2=imread('testpat1.png');
I1=im2double(I1);
I2=im2double(I2);
Add=imadd(I1,I2);         %图像加运算
Sub=imsubtract(I1,I2);    %图像减运算
Mul=immultiply(I1,I2);    %图像乘运算
Div=imdivide(I1,I2);      %图像除运算
Abs=imabsdiff(I1,I2);     %图像差的绝对值运算
Com=imcomplement(I1);     %图像补运算
figure(1);
subplot(2,4,1);imshow(I1);title('原图1');
subplot(2,4,2);imshow(I2);title('原图2');
subplot(2,4,3);imshow(Add,[]);title('图像加运算');
subplot(2,4,4);imshow(Sub,[]);title('图像减运算');
subplot(2,4,5);imshow(Mul,[]);title('图像乘运算');
subplot(2,4,6);imshow(Div,[]);title('图像除运算');
subplot(2,4,7);imshow(Abs,[]);title('图像差的绝对值运算');
subplot(2,4,8);imshow(Com,[]);title('图像1的补运算');
Noi=imnoise(I1,'salt & pepper');
figure(2);
subplot(1,3,1);imshow(I1);title('原图1');
subplot(1,3,2);imshow(Noi);title('加入椒盐噪声后的图1');
N1=zeros(256,256);
for i=1:100    %将图像加噪声再通过多次相加求平均的方法祛除噪声
    Noi1=imnoise(I1,'salt & pepper');
    N2=im2double(Noi1);
    N1=N1+N2;
end
N3=N1/100;
subplot(1,3,3);imshow(N3);title('相加求平均的图像');
M1=imresize(I2,1.5,'bilinear');
M2=imresize(I2,0.8,'bilinear');
M11=imrotate(M1,-45,'bilinear');
M22=imrotate(M2,-45,'bilinear');
figure(3);
subplot(1,3,1);imshow(I2);title('原图');
subplot(1,3,2);imshow(M11);title('放大1.5倍并顺时针旋转45°');
subplot(1,3,3);imshow(M22);title('缩小0.8倍并顺时针旋转45°');

4. Resultados experimentais

Existem 8 imagens mostradas na Figura 1, onde a primeira linha da esquerda para a direita é: a imagem original 1, a imagem original 2, a imagem após as duas imagens serem adicionadas e a imagem após as duas imagens serem subtraídas; a segunda linha é da esquerda para a direita. À direita estão: a imagem após as duas imagens serem multiplicadas, a imagem após as duas imagens serem divididas, a imagem de valor absoluto da diferença entre as duas imagens e a imagem complementar da imagem original 1.
Três imagens são mostradas na Figura 2, da esquerda para a direita: a imagem original, a imagem após adicionar ruído de sal e pimenta à imagem original e adicionar 100 imagens com ruído e média.
Três imagens são mostradas na Figura3, da esquerda para a direita: a imagem original, zoom 1,5 vezes e gira 45 ° no sentido horário, 0,8 vezes menos zoom e gira 45 ° no sentido horário.
Insira a descrição da imagem aqui
Figura 1 Imagem do programa executando o resultado 1
Insira a descrição da imagem aqui
Figura 2 Imagem do programa executando o resultado 2

Insira a descrição da imagem aqui
Figura 3 programa executando imagem de resultado 3

V. Pensando no processo experimental

1. Sobre a operação algébrica da imagem:
A operação algébrica de uma imagem é essencialmente uma operação entre pixels de uma imagem, portanto, o tipo e o tamanho das duas imagens devem ser os mesmos. Ao selecionar uma imagem, você não pode apenas olhar para o seu tamanho e, às vezes, pode encontrar uma imagem binária. Neste momento, você também pode usar a função im2double para digitar as duas imagens na mesma.
2. Com relação à adição de ruído à imagem e, em seguida, à eliminação do ruído, adicionando a média várias vezes:
No programa, um loop for é usado 100 vezes para adicionar ruído de pimenta e sal à imagem e, em seguida, o ruído é removido pelo método médio. Se você colocar a função que adiciona ruído fora do loop, ela não produzirá esse efeito.No momento, é equivalente a adicionar 100 vezes à mesma matriz de dados e, em seguida, calcular a média, os dados da matriz não serão alterados. Ao mesmo tempo, deve-se notar que, após adicionar ruído, o im2double é usado para matricular a imagem em um tipo duplo, porque a operação algébrica comum requer um tipo de precisão dupla.

Para obter mais informações sobre funções, consulte o site do MATLAB.

Publicado 13 artigos originais · Gosto 32 · Visita 10.000+

Acho que você gosta

Origin blog.csdn.net/weixin_43637490/article/details/89320784
Recomendado
Clasificación