华工数学实验 作业6 图像畸变校正

发布 2022-07-02 03:40:28 阅读 5870

《数学实验》报告。

学院:电子与信息学院。

专业班级:通信工程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)

使用方法1 pic_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)

使用方法2pic_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(''0,100,100,350,350)

使用局部处理算法使**人物的脸部变清晰。

matlab处理之后(局部**使用模板2)

运行命令 jubumohu(''2,100,100,350,350)

使用局部处理算法使**人物的脸部变清晰。

源**:第三题。

1.实验内容。

提出图像校正的其他方法,并与本实验的算法做比较分析。

2.实验过程。

下面是笔者实践过的一些图像处理算法和效果图。

如果想让**呈现一种朦胧的美感,可以对**进行平滑处理。

1.图像平滑。

最简单的平滑滤波是将原图中一个像素的灰度值和它周围邻近8个像素的灰度值相加,然后将求得的平均值(除以9)作为新图中该像素的灰度值。它采用模板计算的思想,模板操作实现了一种邻域运算,即某个像素点的结果不仅与本像素灰度有关,而且与其邻域点的像素值有关。模板运算在数学中的描述就是卷积运算,这里不再赘述。

邻域平均法也可以用数学公式表达:

设为给定的含有噪声的图像,经过邻域平均处理后的图像为,则:

所取邻域中各邻近像素的坐标,是邻域中包含的邻近像素的个数。邻域平均法的模板为:,中间的黑点表示以该像素为中心元素,即该像素是要进行处理的像素。

在实际应用中,也可以根据不同的需要选择使用不同的模板尺寸,如×9等。

邻域平均处理方法是以图像模糊为代价来减小噪声的,且模板尺寸越大,噪声减小的效果越显著。如果是噪声点,其邻近像素灰度与之相差很大,采用邻域平均法就是用邻近像素的平均值来代替它,这样能明显消弱噪声点,使邻域中灰度接近均匀,起到平滑灰度的作用。因此,邻域平均法具有良好的噪声平滑效果,是最简单的一种平滑方法。

算法实现。程序中采用的是3×3的模板,即把当前图像和它周围8个像素的灰度值相加,然后将求得的平均值(除以9)作为该点的像素值。

a,map]=imread('f:\'

figure(1);

imshow(a,map),title('原图');

image=double(a);

for i=1:256,a(i)=0;

end,for i=2:255,for j=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显示的是分别使用了×5模板平滑后的图像。从实验结果可以看出,当所用平滑模板尺寸增大时,对噪声的消除效果也有所增强,但同时会带来图像的模糊,边缘细节逐步减少,且运算量增大。在实际应用中,可以根据不同的应用场合选择合适的模板大小。

图3.1 含有噪声的原始图像。

图3.2 3×3邻域平均法的平滑图像。

图3.3 5×5邻域平均法的平滑图像。

反之,如果**拍摄后发现对焦失准,如果成像质量不算太差,则可以通过适当的锐化以提高**的清晰度。

图像锐化。图像锐化的实现**。

a,map]=imread('f:\'

figure(1);

imshow(a,map

title('原图');

image=double(a);

for i=2:255,for j=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分布直方图,观察是哪个原色的分布出现了问题,然后再根据这个分布压缩或拉伸该原色的灰度分布,使其尽量均匀分布,这样处理之后图像的偏色就不会那么明显了。但也可以看到,我们现在所做的算法都是处于很浅层的,离真正应用的差距还很大,这就需要我们在日后的工作学习中不断地学习提升数学应用能力,把数学这个强大的工具真正地用好!

数字图像处理实验作业

实验一。读取一幅图像,完成如下操作,并存储变换后的图像。1 把图像翻转90度,并显示。2 缩小图像为原图像的1 2 3 镜像图像。原图像 clc clf clear f imread d matlab 读取d盘中matlab文件夹中名字为picture的格式为jpg的 figure,imshow f...

数字图像处理实验作业

数字图像处理。学院 电信学院。专业 信息工程。班级 2008级3班 姓名 朱志俊。学号 200830101124 实验作业4 1 用理想低通滤波器在频率域实现低通滤波。1 程序 i imread e 大三下 数字图像处理 matlab图像处理 水果 m,n size i figure imshow ...

数学建模作业实验6数理统计实验

实验6数理统计实验。1.区间估计。解 1 根据题意,用r软件求解。x c 1067,919,1196,785,1126,936,918,1156,920,948 g 得到如下结果 one sample t test data x t 23.9693,df 9,p value 9.148e 10 al...