报告论文:数字图象处理系列问题研究(小丑图像除噪)
来源:互联网 发布:贾巴里 帕克数据 编辑:程序博客网 时间:2024/04/27 19:27
一、实验目的:
掌握基本的图象增强和变换方法,观察图象增强的效果,加深对图像增强和一些基本变换的理解。熟悉如何用matlab实验平台对图像进行增强和变换处理。
二、实验内容:
1.编程实现打开一个灰度图像,能够显示图像。
2.图像数字化以及相关操作(图像灰度的平均值,协方差矩阵,灰度标准差)。
3.编程实现图像傅立叶变换和反变换,实现带噪小丑图像去除噪音。
4.用直接灰度变换改变图像(求反,增强对比度,动态范围压缩,灰度切分)。
三、实验过程:
注:除小丑去噪外其他操作均用图1所示的Gem图像(Gem是我的网名);
这里面的所有图象我都先变换为灰度图
判断是否为灰度图象:
flag=isgray(A)
判断是否为真彩图象:
flag=isrgb(A)
真彩图象→灰度图象:
I=rgb2gray(A);
1.打开并显示一幅灰度图像:
在matlab命令窗口中输入如下代码:
>>I=imread('d:\gem.bmp');
>> flag=isgray(I) %判断是否是灰度图片flag=1,ture是灰度图片;否则不是
flag =
1
>>imshow(I)
所显示结果如下:
2.求图像灰度平均值,协方差矩阵和灰度标准差:
(1) 求灰度平均值
① 实现方式1:因为实验过程1中打开灰度图像时已完成图像的数字化,即图像已经变成一个矩阵,因此直接调用matlab自带的求矩阵均值函数mean2()求图像的均值。代码如下:
>>I=imread('d:\gem.bmp');
>>J=mean2(I)
J =
189.8383
>>
② 实现方式2:先调用size函数求出矩阵的大小,然后求出矩阵所有值的平均值即是原始图像的灰度均值。代码如下:
>>I=imread('d:\gem.bmp');%读入原始图像
>>[m,n]=size(I); %求对应矩阵的规格,即图像的像素总数
>>J=double(I);
>>a=0; %变量a赋初值
>>for j=1:m %循环求和
for k=1:n
a=a+J(j,k);
end
end
>>avg=a/(238*107) %求平均
运行结果:avg =189.8383
(2)灰度标准差:
>>K=std2(I)
K =
88.4966
>>
(3)协方差矩阵
cov(double(I))
4.0607 4.2491 4.5113 4.8265 5.2313 6.1461 8.7791 8.6492 8.4031
3.9241 4.0898 4.3327 4.6267 5.0069 5.9301 8.6492 8.8390 8.6943
3.7321 3.8970 4.1378 4.4305 4.8065 5.7193 8.4031 8.6943 8.8302
3.6235 3.7439 3.9634 4.2335 4.5807 5.4701 8.0734 8.4097 8.6483
3.4612 3.5449 3.7612 4.0290 4.3694 5.2420 7.7879 8.1323 8.3975
3.2847 3.3375 3.5481 3.8118 4.1397 4.9820 7.4237 7.7602 8.0192
3.1529 3.2837 3.5100 3.7920 4.1366 4.9723 7.3915 7.6752 7.9027
2.5251 2.6593 2.9130 3.2128 3.6099 4.4803 7.0184 7.2345 7.4691
..... .....
3.图像傅立叶变换和反变换
直接调用matlab自带的函数实现,代码如下:
>> I=imread('d:\gem.bmp');
>>C= fft2(double(I)); %对图像进行傅立叶变换
>> B=fftshift(fft2(double(I))); %对频谱图进行平移处理
>> D=ifft2(B); %傅立叶反变换
>> subplot(1,3,1), imshow(I) %画图像原始图
>> subplot(1,3,2), imshow(log(abs(B)+1),[]) %画直接变换频谱图
>> subplot(1,3,3), imshow(abs(D),[]) %显示反傅立叶变换后的图像
显示效果如下:
实现小丑图像去除噪音:
小丑图象除噪,是我经过多次探索才辛苦的弄出来的
>> A=imread('d:\小丑.jpg');
>> I=rgb2gray(A);
>> subplot(2,2,1),imshow(I);
>> B=fftshift(fft2(double(I)));
>> subplot(2,2,2),imshow(log(abs(B)+1),[]);
%如图 对B里面的数据进行如下修改:
(x,y)={(44,52),(107,41),(22,89),(87,76)}
"这些点是我用QQ抓图定位"
对上面(x,y)这些点为中心N8领域D8=2的幅值全部置为0 %
图3显示的是对第一个点(44,52)处理数据
>>subplot(2,2,3),imshow(log(abs(B)+1),[]);
>>D=ifft2(B);
>> subplot(2,2,4), imshow(abs(D),[])
>>
显示效果如下:
图4为除噪后的图片
4.用直接灰度变换改变图像
(1)图像求反
图象求反即是让图象的像素分布反过来,即黑变白,白变黑。
%x1=y1时斜率k=1的效果:
代码如下:
>> I=imread('d:\gem.bmp');
>> subplot(2,2,1), imshow(I)
>> level=graythresh(I);
>> bw=im2bw(I,level);
>> subplot(2,2,2), imshow(bw);
>> x1=107;
>> y1=238;
>> subplot(2,2,3),plot([0,x1],[y1,0])
>> axis tight,xlabel('x'),ylabel('y')
>> title('变换曲线')
>> k=y1/x1;
>> [m,n]=size(I);
>> J=double(I);
>> for i =1:m
for j=1:n
x=J(i,j);
y(i,j)=0;
if (x>=0)&(x<=x1)
y(i,j)=y1-k*x;
else
y(i,j)=0;
end
end
end
>> subplot(2,2,4),imshow(mat2gray(y))
>>
显示效果如下:
图5求反
增强对比度:
代码如下:
>>I=imread('d:\gem.bmp');
>> subplot(1,3,1), imshow(I)
>> f0=0;g0=0;
>> f1=70;g1=30;
>> f2=180;g2=230;
>> f3=255;g3=255;
>> subplot(1,3,2),plot([f0,f1,f2,f3],[g0,g1,g2,g3])
>> axis tight,xlabel('f'),ylabel('g')
>> title('变换曲线')
>> r1=(g1-g0)/(f1-f0);
>> b1=g0-r1*f0;
>> r2=(g2-g1)/(f2-f1);
>> b2=g1-r2*f1;
>> r3=(g3-g2)/(f3-f2);
>> b3=g2-r3*f2;
>> [m,n]=size(I);
>> X2=double(I);
>> for i=1:m
for j=1:n;
f=X2(i,j);
g(i,j)=0;
if(f>=0)&(f<=f1)
g(i,j)=r1*f+b1;
elseif (f>=f1)&(f<=f2)
g(i,j)=r2*f+b2;
elseif (f>=f2)&(f<=f3)
g(i,j)=r3*f+b3;
end
end
end
>> subplot(1,3,3),imshow(mat2gray(g))
>>
显示效果如下:
图6增强对比度
动态范围压缩:
代码如下:
>> I=imread('d:\gem.bmp');
>> subplot(1,3,1), imshow(I)
>> c=255/log(256);
>> x=0:1:255;
>> y=c*log(1+x);
>> subplot(1,3,2),plot(x,y)
>> axis tight,xlabel('f'),ylabel('g')
>> title('变换曲线')
>> [m,n]=size(I);
>> X2=double(I);
>> for i=1:m
for j=1:n;
g(i,j)=c*log(X2(i,j)+1);
end
end
>> subplot(1,3,3),imshow(mat2gray(g))
>>
显示效果如下:
图7动态范围压缩
灰度切分 :
代码如下:
>> I=imread('d:\gem.bmp');
>> subplot(1,3,1), imshow(I)
>> s1=100;s2=200;g1=20;g2=200;
>> subplot(1,3,2),plot([0,s1,s1,s2,s2,255],[g1,g1,g2,g2,g1,g1])
>> axis tight,xlabel('f'),ylabel('g')
>> title('变换曲线')
>> [m,n]=size(I);
>> X2=double(I);
>> for i=1:m
for j=1:n
f=X2(i,j);
g(i,j)=0;
if(f>=s1)&(f<=s2)
g(i,j)=g2;
else
g(i,j)=g1;
end
end
end
>> subplot(1,3,3),imshow(mat2gray(g))
>>
显示效果如下:
图8灰度切分
四、心得:
本次上机难点在于概念理解很重要,开始也许我课堂没有认真的听或者听的不是很深入,似懂非懂,导致上机时不知所措。课后在寝室认真的和同学讨论,收获非浅。
这次上机,最难的是小丑除噪,我使个很多方法才有这样的处理效果,开始由于概念不是很清楚对频谱图象直接涂黑,ifft2后发现全部为黑色,没有什么效果,后来对fft2变换后的图片进行上面的处理后才探索出这种方法,虽然效果不是很好,但是很有成就感。
通过这次实习,明白上课老师讲的概念如此重要,而且要有探索精神,勇于实践。
报告下载地址:
http://ctfysj.gbaopan.com/files/3519f135bbec4bcd98138e6f45f2733a.gbp
注意:不支持迅雷
QQ群联合列表: http://www.pudn.com/qqs_list.asp
- 报告论文:数字图象处理系列问题研究(小丑图像除噪)
- 报告论文:数字图象处理问题
- 数字图象处理系列问题研究(matlab实现)
- 数字图象处理系列问题研究(matlab实现)
- 数字图象处理包括那些研究方向
- 问题 : 小丑排序
- opencv 数字图象处理 图像平移变换
- 报告论文:数字图像噪音处理研究
- 报告论文:程控交换技术的研究
- 数字图象处理
- 小丑
- 小丑
- hive 大数据 除重问题研究
- 医学影像图像处理若干关键问题的研究——开题报告
- 医学影像图像处理若干关键问题的研究——开题报告v1.1
- 报告论文:关于一个小型学生信息管理系统研究
- 数字图象处理之二维码图像提取算法(四)
- 数字图象处理之二维码图像提取算法(五)
- 情感日记:2007年的3月24日
- Hibernate如何提升数据库查询的性能
- 技巧心得:SQL中各数据类型的区别
- 报告论文:汽车GPS调度系统车载终端设计技术方案
- 疾病研究:我是一名34岁的进行性肌营养不良症患者
- 报告论文:数字图象处理系列问题研究(小丑图像除噪)
- 情感日记:爱情测试
- 技巧心得:免费网络电话
- 情感日记:梦里花落知多少--记念我的大学
- 情感日记:春天已经走远
- 情感日记:曾经的岁月
- 情感日记:爱是一场多么美丽的忧伤
- SQL Server 单个表的导出, 导入
- 情感日记:为了拥抱你,我拔掉身上的刺