一、运用Matlab对图像的基本处理
1、提取Lena图像的左半上角部分,与原始Lena图像在同一个figure中显示,并做适当命名
a =imread('Lena.bmp');%读取图片
[m, n, c]=size(a);%取行数m和列数n
half_x=floor(m/2);%floor是对m/2的结果取整,向下取整;ceil向上取整
half_y=floor(n/2);
img_b=a(1:half_x,1:half_y,:);%取左半上角
figure;%figure创建图窗窗口
subplot(1,2,1);%一个fugure图形生成一行两列两个子图,当前图像显示在第一个位置
imshow(a);title('原始图像')%输出图像到板块上
subplot(1,2,2);%第二个位置放更改后的图像
imshow(img_b);title('左半上角')
效果图
2、利用 imnoise , 对原始Lena图像叠加高斯噪声,产生4幅、14幅、140幅的含噪图像。对这些含噪图像采用 相加 运算,来验证、比较图像相加消除叠加性噪声的效果。将原始图像、1幅噪声图像、1幅相加去噪结果图像显示在一个figure 中
% 利用 imnoise , 对原始Lena图像叠加高斯噪声,产生4幅含噪图像
% g=imnoise(图像名称,‘gaussian’,m,var) 均值m,方差为var的高斯噪声添加到原图像上,默认值均值是0,方差为0-1
img1=imread('Lena.bmp'); %图形文件读取图像MATLAB空间 A = imread(filename)
%高斯噪声,图像是img,均值为0,方差为
nos1 = imnoise(img1,'gaussian',0,0.02);
nos2=imnoise(img1,'gaussian',0,0.03);
nos3=imnoise(img1,'gaussian',0,0.05);
nos4=imnoise(img1,'gaussian',0,0.07);
figure('Name','原始图像和4幅的含噪图像');
subplot(2,3,1); imshow(img1); title('原图');%两行三列第一张图
sub