数字图像处理:图像的基本运算2
实验目的:
1、掌握图像的点运算。
2、掌握图像的代数运算。
3、掌握图像的缩放运算。
4、掌握图像的旋转运算。

实验内容及要求:
1、求图像的线性点运算、非线性点运算、反白及二值化,给出实验结果并进行分析。
参考代码如下:
I=imread('lenna.bmp');
figure;
subplot(1,3,1);
imshow(I);
title('原图');
J=imadjust(I,[0.3;0.6],[0.1;0.9]);
subplot(1,3,2);
imshow(J);
title('线性运算');
I1=double(I);
I2=I1/255;
C=2;
K=C*log(1+I2);
subplot(1,3,3);
imshow(K);
title('非线性运算');
M=255-I;
figure;
subplot(1,3,1);
imshow(M);
title('反白');
N1=im2bw(I,0.4);
N2=im2bw(I,0.7);
subplot(1,3,2);
imshow(N1);
title('二值化阈值0.4');
subplot(1,3,3);
imshow(N2);
title('二值化阈值0.7');

2、加法运算,给出实验结果并进行分析。
参考代码如下:
I=imread('i_lena.jpg');
I=rgb2gray(I);
J=imread('rice.png');
I=im2double(I);
J=im2double(J);
K=I+0.3*J;
subplot(1,3,1);
imshow(I);
title('人物图');
subplot(1,3,2);
imshow(J);
title('背景图');
subplot(1,3,3);
imshow(K);
title('相加后的图');
imwrite(K,'i_lena1.jpg');

3、减法运算,给出实验结果并进行分析。
参考代码如下:
A=imread('i_lena1.jpg');
B=imread('rice.png');
C=A-0.3*B;
subplot(1,3,1);
imshow(A);
title('混合图');
subplot(1,3,2);
imshow(B);
title('背景图');
subplot(1,3,3);
imshow(C);
title('分离后的图');

4、乘法运算,给出实验结果并进行分析。
参考代码如下:
A=imread('i_lena.jpg');
A=rgb2gray(A);
A=im2double(A);
subplot(1,3,1);
imshow(A);
title('原图');
B=zeros(256,256);
B(40:200,40:200)=1;
subplot(1,3,2);
imshow(B);
title('掩模图');
K=A.*B;
subplot(1,3,3);
imshow(K);
title('局部图');

5、缩放运算,给出实验结果并进行分析。
参考代码如下:
A=imread('i_lena.jpg');
B1=imresize(A,1.5);
B2=imresize(A,[420 384]);
C1=imresize(A,0.7);
C2=imresize(A,[150 180]);
figure;
imshow(B1);
title('全比例放大图');
figure;
imshow(B2);
title('非全比例放大图');
figure;
imshow(C1);
title('全比例缩小图');
figure;
imshow(C2);
title('非全比例缩小图');




6、旋转运算,给出实验结果并进行分析。
参考代码如下:
I=imread('i_lena.jpg');
J=imrotate(I,45);
K=imrotate(I,90);
subplot(1,3,1);
imshow(I);
subplot(1,3,2);
imshow(J);
subplot(1,3,3);
imshow(K);
