matlab图像处理Lena大作业

matlab图像处理Lena大作业five的图象处理大作业憨憨选了个图象处理课,结果老师上课疯狂吹逼,具体方法只有很少一点,然后布置了一个大作业,大概就是读取图像然后加个高斯白噪声,然后再想办法把噪声滤除,以及做一个锐化。这里直接上一个代码I=imread(‘lena512.bmp’);imfinfo(‘lena512.bmp’);figure,imshow(I);y=uint8(wgn(512,512,60));…

five的图象处理大作业

憨憨选了个图象处理课,结果老师上课疯狂吹逼,具体方法只有很少一点,然后布置了一个大作业,大概就是读取图像然后加个高斯白噪声,然后再想办法把噪声滤除,以及做一个锐化。这里直接上一个代码

I=imread('lena512.bmp');
imfinfo('lena512.bmp');
figure,imshow(I);
y = uint8(wgn(512,512,60));
figure,imshow(y);
I1=I+y;
for i=1:1:512
    for j=1:1:512
          if I1(i,j)>256
              I1(i,j)=256;
          end
    end
end
for i=1:1:512
    for j=1:1:512
          if I1(i,j)<0
              I1(i,j)=0;
          end
    end
end
figure,imshow(I1);
k1=filter2(fspecial('average',3),I1)/255;          %进行3*3模板平滑滤波
k2=filter2(fspecial('average',5),I1)/255;          %进行5*5模板平滑滤波
k3=filter2(fspecial('average',7),I1)/255;          %进行7*7模板平滑滤波
k4=filter2(fspecial('average',9),I1)/255;          %进行9*9模板平滑滤波
subplot(141),imshow(k1);title('3*3 模板平滑滤波');
subplot(142),imshow(k2);title('5*5 模板平滑滤波');
subplot(143),imshow(k3);title('7*7 模板平滑滤波');
subplot(144),imshow(k4);title('9*9 模板平滑滤波');

p1 =fspecial('sobel');%锐化
figure();
add1 =imfilter(I1,p1);
out1=add1+I1;
imshow(out1);
title('sobel锐化结果');
% % figure,imhist(I);
% % I2=imnoise(I,'gaussian',0,0.1);
% % figure,imshow(I2);

第一步

读取图像,matlab有自带的图像读取函数imread,读取出来如果你是512512的黑白图像就会用个512512的数组来储存,如果是rgb就是5125123的数组,这下我门就完成了第一步,那个imfinfo是可以看图像具体数据的函数,imread应该可以读很多格式的图像
lena原图

第二步

这里本来可以直接用imnoise函数加噪声,但是由于老师要求单独的高斯噪声图像这里使用的是wgn函数,wgn函数具体用法:
wgn(行,列,噪声功率)
当然也可以用rand(),之后还要乘一个常数再加到原图像上去,两者之间有个换算关系:wgn(m,n,p)=sqrt*(10^(p/10))*rand(m,n)
然后得到一个噪声图像和加了噪声的图像
噪声图像

带噪声的lena

线性平滑滤波

简单地通过matlab的函数实现。。。
filter2(fspecial(‘average’,3),I1)/255,这里的3可以替换成其他奇数,一般越大越模糊这里给一组对比图:
平滑滤波

第四步锐化

用fspecial函数选择sobel算子来做锐化,简单的一批,关于锐化的原理,说白了提取边缘分量,怎么提?用一个算子一个一个滑动过去,至于算子怎么设计?下次再开个专题来详细说说有哪些算子,是怎么设计的,现在就给个成果图:锐化提取边缘信息
总之先写到这里,有弟弟和我说C++的opencv做这个会很快,我觉得matlab已经够快了,等我学了C++再出一期openCV做图像处理的合集。

分割线————-
一年过去了我还是没有学会C++。。考研党是人下人。

今天的文章matlab图像处理Lena大作业分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/29369.html

(0)
编程小号编程小号

相关推荐

发表回复

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