图像处理与模式识别

作业

实验一 常用MATLAB图像处理命令

读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题

a=imread('Z:\原图\1.jpg');
subplot(2,2,1);imshow(a);title('原图');
subplot(2,2,2);imshow(rgb2gray(a));title('灰度图像');
subplot(2,2,3);imshow(im2bw(a));title('二值图像');

对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题

a=imresize(imread('Z:\原图\Car.jpg'),[500 500]);
b=imresize(imread('Z:\原图\图像.jpg'),[500 500]);
subplot(3,2,1);imshow(a);title('原图1');
subplot(3,2,2);imshow(b);title('原图2');
subplot(3,2,3);imshow(imadd(a,b));title('加');
subplot(3,2,4);imshow(imsubtract(a,b));title('减');
subplot(3,2,5);imshow(immultiply(a,b));title('乘');
subplot(3,2,6);imshow(imdivide(a,b));title('除');

对一幅图像进行灰度变化,实现图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题

a=imread('Z:\原图\1.jpg');
subplot(2,2,1);imshow(a);title('原图');
subplot(2,2,2);imshow(imadjust(a,[0 1],[0 1],0.1));title('变亮');
subplot(2,2,3);imshow(imadjust(a,[0 1],[0 1],10));title('变暗');
subplot(2,2,4);imshow(imadjust(a,[0 1],[1 0]));title('负片');

实验二 图像基本操作

调试运行4倍减采样程序,分析程序,对每条语句给出注释,并显示最终执行结果

a=imread('Z:\原图\18.jpg'); %加载图片
b=rgb2gray(a); %灰度
[wid,hei]=size(b); %图片大小
quartimg=zeros(wid/2+1,hei/2+1); %用于存放结果
i1=1;
j1=1;
for i=1:2:wid
 for j=1:2:hei
  quartimg(i1,j1)=b(i,j); %每隔一个像素取一个像素保存到结果矩阵中
  j1=j1+1;
 end
 i1=i1+1;
 j1=1;
end
figure %创建一个用来显示图形输出的一个窗口
imshow(uint8(quartimg)) %把结果限制在255以内并显示图像

显示一幅灰度图像a,改变图像亮度使其整体变暗得到图像b,显示两幅图像的直方图

a=rgb2gray(imread('Z:\原图\1.jpg'));
b=imadjust(a,[,],[0;0.5]);
subplot(2,2,1);imshow(a);title('原图');
subplot(2,2,2);imhist(a);title('原图直方图');
subplot(2,2,3);imshow(b);title('变暗');
subplot(2,2,4);imhist(b);title('变暗直方图');

对图像b进行直方图均衡化,显示结果图像和对应直方图

c=histeq(b);
subplot(2,2,1);imshow(b);title('原图');
subplot(2,2,2);imhist(b);title('原图直方图');
subplot(2,2,3);imshow(c);title('均衡化');
subplot(2,2,4);imhist(c);title('均衡化直方图');

读入图像c,执行直方图规定化,使图像a的灰度分布与c大致相同,显示变换后图像及对应直方图

c=imread('Z:\原图\兔兔.jpg');
[cc,x]=imhist(c);
d=histeq(a,cc);
subplot(2,2,1);imshow(a);title('原图');
subplot(2,2,2);imhist(a);title('原图直方图');
subplot(2,2,3);imshow(d);title('规定化');
subplot(2,2,4);imhist(d);title('规定化直方图');

实验三 图像变换

对一幅图像进行缩小,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的对应关系

a=imread('Z:\原图\1.jpg');
b=imresize(a,0.5);
imfreqdomain=@(x) imshow(fftshift(log(1+abs(fft2(rgb2gray(x))))),[]);
subplot(2,2,1);imshow(a);title('原图');
subplot(2,2,2);imfreqdomain(a);title('原图傅里叶谱');
subplot(2,2,3);imshow(b);title('缩小');
subplot(2,2,4);imfreqdomain(b);title('缩小傅里叶谱');

对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的对应关系

a=imread('Z:\原图\1.jpg');
b=imrotate(a,45,'bilinear');
imfreqdomain=@(x) imshow(fftshift(log(1+abs(fft2(rgb2gray(x))))),[]);
subplot(2,2,1);imshow(a);title('原图');
subplot(2,2,2);imfreqdomain(a);title('原图傅里叶谱');
subplot(2,2,3);imshow(b);title('旋转');
subplot(2,2,4);imfreqdomain(b);title('旋转傅里叶谱');

 

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注