源码:
https://download.csdn.net/download/weixin_38719187/12135706 一、课题介绍
Matlab具有完备的图形处理功能、友好的用户界面以及功能强大的图形处理工具箱,能够实现对数字图像的编辑和处理工作,实现功能包括数字图像的读取、存储、显示、去色、图像翻转、局部放大、透明度调整、去噪、平滑、锐化、压缩、边缘检测等操作。
本文的主要内容如下:
1.研究图像处理技术,包括图像处理技术的分类、数字图像处理的特点,主要内容以及应用。
2.分析MATLAB软件及其在图像处理中的应用。
3.完成系统的总体设计,各功能模块设计。由于篇幅有限,本文重点论述了图像变换模块的设计,对已有的算法进行了分析,并进行了改进,利用MATLAB软件完成了算法的实现,最后通过实例说明处理效果。
4.设计友好的、易于操作的图形用户界面,方便用户对结果的观察以及对已有算法的比较研究和新算法的开发。
5. 向做好的平台中添加图像,图像的读取、存储、显示、去色、图像翻转、局部放大、透明度调整、去噪、平滑、锐化、压缩、边缘检测等操作。 二、菜单介绍
三、主程序 1、二值图像处理
global img_src
axes(handles.axes_dst);
x=im2bw(img_src);
imshow(x);
title(‘二值图片处理’)
2、图片旋转
W=imrotate(img_src,180,‘crop’);
imshow(W);
title(‘旋转180后的图片’)
3、图片剪切
I=imcrop(img_src);
imshow(I);
title(‘剪切图片’);
4、离散余弦变换
K=dct2(I);
imshow(K);
title(‘DCT变换后的图片’)
5、离散小波变换
[cA,cH,cV,cD]=dwt2(M,‘db1’); %use db1 wavelet to discompose the picture
A=upcoef2(‘a’,cA,‘db1’,1);
H=upcoef2(‘h’,cH,‘db1’,1);
V=upcoef2(‘v’,cV,‘db1’,1);
D=upcoef2(‘d’,cD,‘db1’,1); % coding
6、均值滤波
H=ones(4,4)/16;
K=imfilter(img_src,H);%%%%对图片进行均值滤波
imshow(K);
title(‘均值滤波后的图片’)
7、边缘检测
BW1=edge(K,‘sobel’);%%
BW2=edge(K,‘roberts’,0.005);
BW3=edge(K,‘prewitt’);
BW4=edge(K,‘log’,0.0005);
8、图片压缩
B=rgb2gray(img_src);
[c,s]=wavedec2(B,2,‘db1’);
a=appcoef2(c,s,‘db1’,1);
h=detcoef2(‘h’,c,s,1);
v=detcoef2(‘v’,c,s,1);
d=detcoef2(‘d’,c,s,1);
k=[a h;v d];
b=wcodemat(a,500,‘mat’);
a1=0.5b;
subplot(221);
imshow(B)
title(‘原始灰度图片’)
subplot(222);
image(k);
title(‘变换后各频率分量’)
r=appcoef2(c,s,‘db1’,2);
b=wcodemat(r,500,‘mat’);
a2=0.25b;
subplot(223);
image(a1);
title(‘第一次压缩图片’);
subplot(224);
image(a2);
title(‘第二次压缩图片’);
whos(‘a1’);
whos(‘a2’);
9、图像去噪
J=imnoise(B,‘gaussian’,0,0.02);
%%M=imnoise(B,‘salt & pepper’);
subplot(121);
imshow(J);
title(‘加噪声的图片’);
[a,b,c]=ddencmp(‘den’,‘wv’,J);
K=wdencmp(‘gbl’,J,‘sym4’,2,a,b,c);
K=uint8(K);
subplot(122);
imshow(K);
title(‘去噪后的图片’);
|
请发表评论