华工数学实验作业6图像畸变校正.docx
- 文档编号:26790978
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:18
- 大小:1.85MB
华工数学实验作业6图像畸变校正.docx
《华工数学实验作业6图像畸变校正.docx》由会员分享,可在线阅读,更多相关《华工数学实验作业6图像畸变校正.docx(18页珍藏版)》请在冰豆网上搜索。
华工数学实验作业6图像畸变校正
《数学实验》报告
学院:
电子与信息学院
专业班级:
通信工程4班
学号:
201130301443
姓名:
李腾辉
实验名称:
图像畸变校正
实验日期:
2013.05.17
第六次实验
第一题
1.实验内容
任意选取一幅颜色畸变的图像,按照本实验的算法做出校正,对校正效果进行分析。
2.实验过程
笔者先选用了一张正常的照片,如下图所示
利用Matlab自带的imhist函数显示它的RGB直方图如下:
然后笔者用photoshop软件将红色直方图由0-255压缩至0-120,结果如下图:
对比原图,不难发现图片已经偏色得厉害了。
然后再利用Matlab算法进行修正,dealcolor(path,RGB,middle),RGB填1(选择修正红色),修正系数middle填120,运行程序结果如下图
修正后的RGB直方图
对比原图RGB直方图
基本修正得与原图差不多了,可见此法还是对于压缩型偏色修正是可行的,但在试验中笔者也发现了,如果不是把红色直方图进行水平方向的压缩,而是直接截去一段,该算法恢复出来的效果则不令人满意。
(如下图所示)
此算法还是相对来说比较简单,无法根据图像的特征进行修正,与现在主流的图像处理软件相比,还有很多提升空间。
源代码:
直方图代码:
颜色修正代码:
第二题
1.实验内容
任意选取一幅图像模糊的图像,按照本实验的算法做出校正,对校正效果进行分析。
2.实验过程
原图如下:
经过高斯模糊之后
Matlab处理之后(整张图片使用模板1)
使用方法1pic_tem=5*b(y,x,j)-(b(y,x-1,j)+b(y+1,x,j)+b(y-1,x,j)+b(y,x+1,j));进行处理,图像清晰度已有所改观,但也发现,图像边缘出现比较明显的噪点,图像的品质下降了。
Matlab处理之后(整张图片使用模板2)
使用方法2
pic_tem=9*b(y,x,j)-(b(y-1,x-1,j)+b(y-1,x,j)+b(y-1,x+1,j)+b(y,x-1,j)+b(y+1,x+1,j)+b(y+1,x-1,j)+b(y+1,x,j)+b(y+1,x+1,j));
锐化效果更加明显了,但是图像的噪点比方法1更多,图像边缘出现明显的颗粒感,总体质量偏低。
可见,在处理模糊图像上要综合考虑图像光滑度与模糊度,以选择出合适的算法来处理得到自己满意的图像效果。
源程序:
笔者还尝试使用了局部锐化的算法对相片人物的面部进行处理
Matlab处理之后(局部图片使用模板1)
运行命令jubumohu('mohu.jpg',0,100,100,350,350)
使用局部处理算法使图片人物的脸部变清晰
Matlab处理之后(局部图片使用模板2)
运行命令jubumohu('mohu.jpg',2,100,100,350,350)
使用局部处理算法使图片人物的脸部变清晰
源代码:
第三题
1.实验内容
提出图像校正的其他方法,并与本实验的算法做比较分析。
2.实验过程
下面是笔者实践过的一些图像处理算法和效果图。
如果想让图片呈现一种朦胧的美感,可以对图片进行平滑处理。
1.图像平滑
最简单的平滑滤波是将原图中一个像素的灰度值和它周围邻近8个像素的灰度值相加,然后将求得的平均值(除以9)作为新图中该像素的灰度值。
它采用模板计算的思想,模板操作实现了一种邻域运算,即某个像素点的结果不仅与本像素灰度有关,而且与其邻域点的像素值有关。
模板运算在数学中的描述就是卷积运算,这里不再赘述。
邻域平均法也可以用数学公式表达:
设
为给定的含有噪声的图像,经过邻域平均处理后的图像为
,则:
(3-1)
所取邻域中各邻近像素的坐标,
是邻域中包含的邻近像素的个数。
邻域平均法的模板为:
,中间的黑点表示以该像素为中心元素,即该像素是要进行处理的像素。
在实际应用中,也可以根据不同的需要选择使用不同的模板尺寸,如3×3、5×5、7×7、9×9等。
邻域平均处理方法是以图像模糊为代价来减小噪声的,且模板尺寸越大,噪声减小的效果越显著。
如果
是噪声点,其邻近像素灰度与之相差很大,采用邻域平均法就是用邻近像素的平均值来代替它,这样能明显消弱噪声点,使邻域中灰度接近均匀,起到平滑灰度的作用。
因此,邻域平均法具有良好的噪声平滑效果,是最简单的一种平滑方法。
算法实现
程序中采用的是3×3的模板,即把当前图像
和它周围8个像素的灰度值相加,然后将求得的平均值(除以9)作为该点的像素值。
[A,map]=imread('f:
\234.bmp');
figure
(1);
imshow(A,map),
title('原图');
image=double(A);
fori=1:
256,
a(i)=0;
end,
fori=2:
255,
forj=2:
255,
b=image(i-1,j-1)+image(i-1,j)+image(i-1,j+1)
+image(i,j-1)+image(i,j)+image(i,j+1)
+image(i+1,j-1)+image(i+1,j)+image(i+1,j+1);
b=b/9;
image(i,j)=b;
end,
end,
figure
(2);
imshow(image,map),
title('平滑');
使用上述代码对含有高斯噪声的图像3.1分别利用邻域平均法的不同尺寸模板进行平滑后的实验结果,图3.2、图3.3显示的是分别使用了3×3、5×5模板平滑后的图像。
从实验结果可以看出,当所用平滑模板尺寸增大时,对噪声的消除效果也有所增强,但同时会带来图像的模糊,边缘细节逐步减少,且运算量增大。
在实际应用中,可以根据不同的应用场合选择合适的模板大小。
图3.1含有噪声的原始图像
图3.23×3邻域平均法的平滑图像
图3.35×5邻域平均法的平滑图像
反之,如果图片拍摄后发现对焦失准,如果成像质量不算太差,则可以通过适当的锐化以提高图片的清晰度
图像锐化
图像锐化的实现代码
[A,map]=imread('f:
\234.bmp');
figure
(1);
imshow(A,map),
title('原图');
image=double(A);
fori=2:
255,
forj=2:
255,
b=image(i,j)-2*[1*image(i-1,j-1)+4*image(i-1,j)+1*image(i-1,j+1)+4*image(i,j-1)-20*image(i,j)+4*image(i,j+1)+1*image(i+1,j-1)+4*image(i+1,j)+1*image(i+1,j+1)];
image(i,j)=b;
end,
end,
figure
(2);
imshow(image,map),
title('锐化');
原始锐化后
通过对比,经过锐化后图像轮廓清晰了,但清晰的程度是有限的,锐化后图像不可避免地产生了其它的噪点。
结论:
通过本次实验,我学习到了图像较正处理的一些简单的数学思想,通过差分可以使图像锐化,通过求平均则可以使图片变得柔和,对于有色彩畸变的图片,可以先通过观察他的RGB分布直方图,观察是哪个原色的分布出现了问题,然后再根据这个分布压缩或拉伸该原色的灰度分布,使其尽量均匀分布,这样处理之后图像的偏色就不会那么明显了。
但也可以看到,我们现在所做的算法都是处于很浅层的,离真正应用的差距还很大,这就需要我们在日后的工作学习中不断地学习提升数学应用能力,把数学这个强大的工具真正地用好!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华工 数学 实验 作业 图像 畸变 校正