信息与通信工程学院。
数字图像处理实验报告。
班级。姓名。
学号。彩色图像处理。
1.实验目的。
1.考虑下列500*500的rgb彩色图像,框内的颜色如图所示,假定将该图像转换到hsi空间,用25*25的平均模板模糊h分量图像,再转换回rgb空间,会看到什么结果?(b)重复(a),只是这次处理的是s分量。
要求做实验,并简单分析结果。
2.对原始图像 进行彩色图像处理,使以下问题得到改善:
1)整个画面光线偏暗
2)画面在色彩上偏紫
3)**上有很多的雀斑
4)右下角偏亮。
2.实验环境。
windows7
matlab r2012a
3.实验思路。
实验1:1)生成所需图像,框内的颜色为绿红蓝绿;
2)将该rgb图像转换到hsi空间;
3)用25*25的平均模板模糊h分量图像,再转换回rgb空间,并观察此时图像的变化情况;
4)重复(2)(3),这次处理的是s分量,观察图像的变化情况。
实验2:1)将原图像转化为double型;
2)提升原图像的整体亮度;
3)对原图像进行饱和度处理,使**偏紫得到改善;
4)通过rgb平滑去除色斑;
5)通过find函数降低**右下角的亮度;
4.实验结果。
实验1:结果分析:h分量为与红轴的夹角,s分量为圆上的点到圆心的距离,i分量为高。
(1)理论上,对h做均值滤波时,s和i的值是不变的,若掩膜内红蓝分量相同时,转化到rgb空间为绿色,若掩膜内红绿分量相同时,转换到rgb空间时依次为为红黄绿,若掩膜内蓝绿分量相同时,转换到rgb空间时依次为蓝青绿,若掩膜内红绿蓝分量都有时,则转换到rgb空间时,依次为蓝青绿黄红,观察实验结果,与理论相同;
(2)理论上,对s做均值滤波时,h,s和i分量的值都不变,做掩膜也不会影响这几个分量,因此转换到rgb空间上观察和原图结果相同,观察实验结果,与理论相同。
实验2:1)原图像:
2)通过亮度提升完善原图偏暗的情况:
3)对**进行饱和度调整,完善原图像偏紫的问题:
4)对**进行rgb平滑,去除原图像中的色斑:
5)降低原图像右下角亮度,得到最终结果:
5.实验中遇到的问题及解决办法。
1)由于实验1相对简单,并未遇到大问题;
2)在做实验2的时候,直接对原图进行处理,导致程序不能执行,后来将原图修改为double型以后,成功解决了该问题;
3)在做实验2的时候,由于亮度提升太高,导致结果与预期相差很大,后来降低了亮度提升的幅度以后,解决了这个问题;
4)实验2的最终效果不是很好,想了很多办法也没有解决,希望老师可以在课上具体讲解一下。
6.实验总结及心得体会。
实验总结:根据实验要求,按照书本以及网上的资料提供的基本方法,得到上面的实验结果,经过分析,最终得到的实验结果和要求基本一致,综上所述,完成了本次实验。
心得体会:在这次实验的开始,找到了实验的相关内容,因此实验的目标比较明确,不过在编写**的时候仍然遇到了一些问题,后来经过查阅资料,解决了这些问题。但是实验2的效果仍然不是很理想。
通过这次实验,对彩色图像的处理有了更加深刻的理解,较好的掌握了彩色空间的转换,尤其是rgb与hsi空间之间的相互转换。同时掌握了如何提升和降低彩色图像的亮度,以及对彩色图像的rgb平滑处理,调整彩色图像的饱和度。此外,对课内知识也有了更加形象的认识。
7.源程序。
实验1:clear all;
生成红绿蓝的格子图案。
a = ones(250,250);
b = zeros(250,250);
r = cat(1,cat(2,b,a),cat(2,b,b));
g = cat(1,cat(2,a,b),cat(2,b,a));
b = cat(1,cat(2,b,b),cat(2,a,b));
rgb = cat(3,r,g,b);
hsi=rgb2hsi(rgb将rgb图像转换为hsi空间。
h=hsi(:,1);
s=hsi(:,2);
i=hsi(:,3);
k = fspecial('**erage',[25 25]);25*25的平均模板
h = imfilter(h,k,'replicate');模糊h分量。
hsi1 = cat(3,h,s,i);
rgb1=hsi2rgb(hsi1将hsi图像转化为rgb空间。
s = imfilter(s,k,'replicate');模糊s分量。
hsi2 = cat(3,h,s,i
rgb2=hsi2rgb(hsi2将hsi图像转化为rgb空间。
显示图像。subplot(2,2,1),imshow(rgb), title('原图');
subplot(2,2,2),imshow(rgb1,title('h模糊后的图像');
subplot(2,2,3),imshow(rgb2,title('s模糊后的图像');
实验2:i=imread(''
i=im2double(i将原图像转化为double型。
hsi= rgb2hsi(i将rgb图像转换到hsi空间。
fh=hsi(:,1);
fs=hsi(:,2);
fi=hsi(:,3);
c=find(fi<0.6);%找出fi<0.6的元素,并将这些元素的线性索引值按列返回向量c中。
fi(c)=fi(c)*1.3亮度提升。
i1=cat(3,fh,fs,fi构建多维数组。
f1=hsi2rgb(i1将hsi图像转化为rgb空间。
p = rgb2hsi(f1将rgb图像转换到hsi空间。
fh1=p(:,1);
fs1=p(:,2);
fi1=p(:,3);
fs1=fs1*0.95**饱和度调整。
i2=cat(3,fh1,fs1,fi1构建多维数组。
f2=hsi2rgb(i2将hsi图像转化为rgb空间。
r= f2(:,1);
g= f2(:,2);
b= f2(:,3);
w = fspecial('**erage',[5,5]);5*5平均模板。
r1 = imfilter(r,w,'replicate');
g1 = imfilter(g,w,'replicate');
b1 = imfilter(b,w,'replicate');
f3= cat(3,r1,g1,b1);
r2 = f3(:,1);
g2 = f3(:,2);
b2 = f3(:,3);
r2 =imfilter(r2,w,'replicate');滤波处理。
f4 = cat(3,r2,g2,b2构建多维数组。
hsi = rgb2hsi(f4将rgb图像转化为hsi空间。
h = hsi(:,1);
s = hsi(:,2);
i = hsi(:,3);
d=find(i==1);
i(d)=0.7;
c=find(i>0.7);
i(c)=i(c)*0.93在亮度过强区域减亮度。
hsi=cat(3,h,s,i构建多维数组。
f5=hsi2rgb(hsi将hsi图像转化为rgb图像。
显示图像。subplot(2,3,1),imshow(i), title('原图');
subplot(2,3,2),imshow(f1), title('整体亮度提升');
subplot(2,3,3),imshow(f2), title('**饱和度调整');
subplot(2,3,4),imshow(f3), title('rgb平滑图像');
subplot(2,3,5),imshow(f4), title('进一步处理');
subplot(2,3,6),imshow(f5), title('最终处理结果');
数字图像处理作业
2017暑假小学期。专业。班级。姓名。学号。摘要 数字图像处理的目的是改善 质量,利用matlab设计几个简单的图像处理程序。该程序具备图像处理的日常功能 图像代数与几何运算 直方图与图像明暗关系分析 直方图均衡化 滤波器的使用与图像分割技术。通过运行 解释结合图像效果,分别介绍了处理原理与过程。关...
数字图像处理作业
图1是一张因拍摄时晃动而产生模糊的图像,试估计其psf并恢复图像。题中已明确此图是由于运动导致的模糊,所以采取课件上标准的恢复方法。首先,对 进行laplace滤波,是为了凸显图像中的高频部分,而后对图像进行radon变换以求出运动模糊的角度,由于角度标准和方向问题,需要将求出的角度减去90 也即。...
数字图像处理作业
数字图像处理上机实验题。一 基础部分。1.产生右图所示图像 f1 m,n 其中图像大小为256 256,中间亮条为128 32,暗处 0,亮处 100。对其进行fft 1 同屏显示原图f1 m,n 和fft f1 的幅度谱图 2 若令f2 m,n 1 m n f1 m,n 重复以上过程,比较二者幅度...