第一篇:数字图像作业
数字图像处理大作业,请转发。
要求每个同学完成1题,按照学号进行分配,1、11、21、31、41、51完成第一题,2、22、32、42、52完成第二题,以此类推。每道题要求有理论说明和实验验证,完成后撰写报告并打印,报告页数不少于5页,包括,理论、实验代码和实验结果,报告完成后由班长收齐后交到计算机楼530,时间7月2日截止。
1、什么是图像增强,常用的图像增强方法有哪几种?请举例并用实验说明。
2、什么是图像复原,图像复原常用的方法有哪些?请举例并用实验说明。
3、什么是灰度直方图,直方图的作用是什么,请用实验说明。彩色图像如何利用直方图法进行增强,利用例子说明之。
4、常用的图像分割方法有哪几种?请举例并用实验说明。
5、分析几种常用边缘分割的方法的特点并用实验说明。
6、什么是频域滤波,什么是空域滤波,它们的特点是什么?用实验说明。
7、常用的数字图像处理的格式有哪些?它们的特点是什么?编程实现不同类型图像的平移、镜像、旋转和缩放。
8、数字图像噪声的有哪些类? 常见的噪声有哪几种,它们的特点有哪些,有实验图像说明之,如何消除这些噪声,效果如何,实验说明之。
9、查找资料,叙述车牌识别的基本过程,并用matlab进行仿真
10、查找资料,说明什么是图像膨胀,什么是图像腐蚀,它们的作用是什么,用并用实验说明。
第二篇:数字图像处理上机作业
数字图像处理上机实验题
一、产生右图所示图像 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),重复以上过程,比较二者幅度谱的异同,简述理由;
3、若将f2(m,n)顺时针旋转 90 度得到f3(m,n),试显示 FFT(f3)的幅度谱,并与 FFT(f2)的幅度谱进行比较;
4、若将f1(m,n)顺时针旋转 90 度得到f4(m,n),令f5(m,n)=f1(m,n)+f4(m,n),试显示 FFT(f5)的幅度谱,并指出其与 FFT(f1)和FFT(f4)的关系;
5、若令f6(m,n)=f2(m,n)+f3(m,n),试显示 FFT(f6)的幅度谱,并指出其与 FFT(f 2)和FFT(f3)的关系,比较 FFT(f6)和FFT(f5)的幅度谱。
代码
f1=zeros(256,256);
for i =64:1:191 for j = 112:1:143 f1(i,j)= 100;
end
end
f2 = fft2(f1);
%f2(m,n)= f3
f3 =((-1)^(i+j))*f1;f4 = fft2(f3);
%f3(m,n)= f5
f5 = imrotate(f3,90,'bilinear');f6 = fft2(f5);
%f4(m,n)= f7
f7 = imrotate(f1,90,'bilinear');f8 = fft2(f7);
%f5(m,n)= f8 f9 = f1 + f7;f10 = fft2(f9);
%f6(m,n)= f2(m,n)+f3(m,n)f11 = f3 + f5;f12 = fft2(f11);
figure(1)subplot(1,2,1);imshow(abs(f1));title('原图f1');subplot(1,2,2);imshow(abs(f2));title('幅度谱fft2(f1)');figure(2)subplot(2,2,1)imshow(abs(f1));title('原图f1')subplot(2,2,2)imshow(abs(f2));title('幅度谱fft2(f1)');subplot(2,2,3);imshow(abs(f3))title('变换谱f2');subplot(2,2,4);imshow(abs(f4));title('幅度谱fft2(f2)');figure(3)subplot(2,2,1)imshow(abs(f3))title('变换谱f2');subplot(2,2,2);imshow(abs(f4));title('幅度谱fft2(f2)');subplot(2,2,3);imshow(abs(f5))title('变换谱f3');subplot(2,2,4);imshow(abs(f6));title('幅度谱fft2(f3)');figure(4)subplot(3,2,1);imshow(f7);
title('f1旋转图f4');subplot(3,2,2);imshow(abs(f8));title('幅度谱fft2(f4)');subplot(3,2,3);imshow(f9);
title('f5(m,n)=f1+f4');subplot(3,2,4);imshow(abs(f10));title('幅度谱fft2(f5)');subplot(3,2,5)imshow(abs(f1));title('原图f1');subplot(3,2,6);imshow(abs(f2));title('幅度谱fft2(f1)');figure(5)subplot(3,2,1)imshow(abs(f3))title('变换谱f2');subplot(3,2,2);imshow(abs(f4));title('幅度谱fft2(f2)');subplot(3,2,3);imshow(abs(f5))title('变换谱f3');subplot(3,2,4);imshow(abs(f6));title('幅度谱fft2(f3)');subplot(3,2,5)imshow(abs(f11))title('变换谱f6=f2+f3');subplot(3,2,6);imshow(abs(f12));title('幅度谱fft2(f6)');
figure(6)subplot(2,2,1);imshow(f9);
title('f5(m,n)=f1+f4');subplot(2,2,2);imshow(abs(f10));title('幅度谱fft2(f5)');subplot(2,2,3)imshow(abs(f11))
title('变换谱f6(m,n)=f2+f3');subplot(2,2,4);imshow(abs(f12));title('幅度谱fft2(f6)');
结果
分析
2、F2(m,n)与F1(m,n)幅度值相同,f2(m,n)=(-1)^(m+n)*f1(m,n)中,并未改变幅值。
3、FFT(f2)比FFT(f3)幅值大。
4、f5=f1+f4,即幅值相加。
5、f6=f2+f3,即幅值相加。
二、产生教材 104 页题图 4.18(右图)所示的二值图像(白为1,黑为0),编程实现习题4.18 所要求的处理(3*3 的平均滤波和中值滤波)功能(图像四周边界不考虑,处理结果按四舍五入仍取(0或1),显示处理前后的图像,比较其异同。
代码
I=[ 1,0,1,0,1,0,1,0;0,1,0,1,0,1,0,1;1,0,1,0,1,0,1,0;0,1,0,1,0,1,0,1;1,0,1,0,1,0,1,0;0,1,0,1,0,1,0,1;1,0,1,0,1,0,1,0;0,1,0,1,0,1,0,1;];J=imhist(I,2);
K=filter2(fspecial('average',3),I);K1=round(K);J1=imhist(K1,2);K2=medfilt2(I);J2=imhist(K2,2);
figure(1)subplot(2,2,1)imshow(I);title('原图像');subplot(2,2,2)imshow(J);
title('原图像直方图');subplot(2,2,3)imshow(K1);
title('3*3领域平均');subplot(2,2,4)imshow(J1);
title('领域平均图像直方图')figure(2)subplot(2,2,1)imshow(I);title('原图像');subplot(2,2,2)imshow(J);
title('原图像直方图');subplot(2,2,3)imshow(K2);title('中值滤波');subplot(2,2,4)imshow(J2);
title('中值滤波图像直方图')
结果
三、产生教材 104 页题图 4.16 所示的灰度图像(白为255,黑为0),分别加入高斯白噪声和椒盐噪声,再分别进行 3´ 3 的平均滤波和中值滤波,显示原图像、加噪图像和滤波结果图像,并比较四种滤波结果。
代码
f=zeros(256,256);for i =23:1:23
3for j=28:1:35 f(i,j)=255;
end
for j=52:1:59 f(i,j)=255;
end
for j=76:1:83 f(i,j)=255;
end
for j=100:1:107 f(i,j)=255;
end
for j=124:1:131 f(i,j)=255;
end
for j=148:1:155 f(i,j)=255;
end
for j=172:1:179 f(i,j)=255;
end
for j=196:1:203 f(i,j)=255;
end
for j=220:1:227 f(i,j)=255;
end end
g=imnoise(f,'gaussian',0.2);s=imnoise(f,'salt & pepper',0.2);k1=filter2(fspecial('average',3),g);G1=round(k1);G2=medfilt2(g);
k2=filter2(fspecial('average',3),s);S1=round(k2);S2=medfilt2(s);
figure(1)imshow(f)
title('Ô-ʼͼÏñ');figure(2)subplot(3,2,1)imshow(g)
title('¸ß˹ͼÏñ');subplot(3,2,2)imshow(s)
title('½·ÑÎͼÏñ');subplot(3,2,3)imshow(G1)
title('ƽ¾ùÂ˲¨¸ß˹ͼÏñ');subplot(3,2,5)imshow(G2)
title('ÖÐÖµÂ˲¨¸ß˹ͼÏñ');subplot(3,2,4)imshow(S1)
title('ƽ¾ùÂ˲¨½·ÑÎͼÏñ');subplot(3,2,6)imshow(S2)
title('ÖÐÖµÂ˲¨½·ÑÎͼÏñ');
结果
四、对某一灰度图像,进行如下处理:
(1)分别利用 Roberts、Prewitt和Sobel 边缘检测算子进行边缘检测;
(2)将Roberts、Prewitt和Sobel 边缘检测算子修改为锐化算子,对原图像进行锐化,同屏显示原图像、边缘检测结果和锐化后图像,说明三者之间的关系。
代码
f1=imread('C:UsershpPictures1.jpg');f2=rgb2gray(f1);k1=edge(f2,'Roberts');k2=edge(f2,'Prewitt');k3=edge(f2,'Sobel');
k4=filter2(fspecial('Prewitt'),f2);k5=filter2(fspecial('Prewitt'),f2);k6=filter2(fspecial('Sobel'),f2);
figure(1)subplot(4,2,1)imshow(f1);title('yuanshi');subplot(4,2,2)imshow(f2);title('huidu');subplot(4,2,3)imshow(k1);title('Roberts');subplot(4,2,5)imshow(k2);title('Prewitt');subplot(4,2,7)imshow(k3);title('Sobel');subplot(4,2,4)imshow(k4);title('log');subplot(4,2,6)imshow(k5);title('Prewitt');subplot(4,2,8)imshow(k6);title('Sobel');
结果
二值化。
五、编程实现教材 214 页所给图像门限化分割的迭代阈值算法,实现对某一灰度图像的代码
f1=imread('C:UsershpPictures11.jpg');f2=rgb2gray(f1);f3=f2;
zm=max(f2(:));zi=min(f2(:));k=2;
T(k)=(zm+zi)/2;while T(k)~=T(k-1);r1=find(f2<=T(k));r2=find(f2>T(k));k=k+1;
T(k)=(mean(f2(r1))+mean(f2(r2)))/2;end
r3=find(f3<=T(k));r4=find(f3>T(k));f3(r3)=0;f3(r4)=255;
figure(1)subplot(221)imshow(f1)title('原始图像');subplot(222)imshow(f2)title('灰度图像');subplot(223)imshow(f3)
title('迭代阈值算法二值化');
结果
心得体会
通过此次作业让我明白了很多,实际操作起来往往比理论所想的要复杂很多。当然,在课设的进行过程中,我还是遇到了不少问题。例如,起初由于我对句柄使用以及一些函数使用的不恰当。随着课设的进行,对matlab的的熟悉度逐步加深。
总体来说,此次的课程设计,还是较为满意的。它不但鞭策着我去巩固matlab的基础理论知识,还提高了我对matlab的实际操作运用,使得理论与实践相结合,为进一步学习matlab打下坚实的基础;同时,在实践的工程中,也让我体会到一种努力付出并得到回报的满足感觉。
第三篇:数字图像处理期中作业报告
西安科技大学
通信学院
数字图像处理实验报告
直 方 图 均 衡 化
西安科技大学
通信学院
题目:直方图均衡化
一、实验目的
1.通过实验理解直方图均衡化的原理及步骤; 2.编程实现图像(灰度或彩色)的直方图均衡化;
3.通过实验更深刻的理解课本知识和加强动手实践能力。
二、实验要求
(1)读入一幅图像;
(2)编程绘制给定图象的灰度直方图;
(3)编程实现给定图象的直方图均衡,得到均衡后的新图象;(4)比较均衡前后的两幅图象以及各自的灰度直方图,分析讨论直方图均衡提高图象对比度的效果;
三、实验原理
1.直方图均衡化概述
图像的对比度增强的方法可以分成两类:一类是直接对比度增强方法;另一类是间接对比度增强方法。直方图拉伸和直方图均衡化是两种最常见的间接对比度增强方法。直方图拉伸是通过对比度拉伸对直方图像素分布进行调整,从而“扩大”前景和背景灰度的差别,以达到增强对比度的目的,这种方法可以利用线性或非线性的方法来实现;直方图均衡化则通过使用累积函数对灰度值进行“调整”以实现对比度的增强。
直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。这种方法通常用来增加许多图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以 2
西安科技大学
通信学院
更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。
2.基本思想
直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。直方图均衡化就是把给定图像的直方图分布改变成“均匀”分布直方图分布。
直方图均衡化的基本思想是把原始图的直方图变换为均匀分布的形式,这样就增加了象素灰度值的动态范围从而可达到增强图像整体对比度的效果。设原始图像在(x,y)处的灰度为f,而改变后的图像为s,则对图像增强的方法可表述为将在(x,y)处的灰度f映射为g。在灰度直方图均衡化处理中对图像的映射函数可定义为:s = EQ(f),这个映射函数EQ(f)必须满足两个条件(其中L为图像的灰度级数):(1)EQ(f)在0≤f≤L-1范围内是一个单值单增函数。这是为了保证增强处理没有打乱原始图像的灰度排列次序,原图各灰度级在变换后仍保持从黑到白(或从白到黑)的排列。
(2)对于0≤f≤L-1有0≤s≤L-1,这个条件保证了变换前后灰度值动态范围的一致性。
累积分布函数(cumulative distribution function,CDF)即可以满足上述两个条件,并且通过该函数可以完成将原图像f的分布转换
西安科技大学
通信学院
成s的均匀分布。此时的直方图均衡化映射函数为:sk = EQ(fk)=(ni/n)= Pf(fi),(k=0,1,2,„„,L-1)上述求和区间为0到k,根据该方程可以由源图像的各像素灰度值直接得到直方图均衡化后各像素的灰度值。在实际处理变换时,一般先对原始图像的灰度情况进行统计分析,并计算出原始直方图分布,然后根据计算出的累计直方图分布求出fk到sk的灰度映射关系。在重复上述步骤得到源图像所有灰度级到目标图像灰度级的映射关系后,按照这个映射关系对源图像各点像素进行灰度转换,即可完成对源图的直方图均衡化。
离散情况下的直方图均衡化的算法: 列出原始图像的灰度级fj,j0,1,,L1 统计各灰度级的像素数目nj,j0,1,,L1
计算原始图像直方图各灰度级的频数Pf(fj)nj/n,j0,1,,L1
k计算累积分布函数:C(f)P(f),j0,1,,k,L1
fjj0应用以下公式计算映射后的输出图像的灰度级,P为输出图像灰度级的个数,其中INT为取整符号:
gINT[(gg)C(f)g0.5] imaxminmin用的映射关系修改原始图像的灰度级,从而获得直方图近似为均匀分布的输出图像。
四、程序代码
(调库函数)
西安科技大学
通信学院
clc;clear all;I=imread('F:数字图像处理常用图片lena1.jpg');figure(1);subplot(2,2,1);imshow(I);title('原始图像');subplot(2,2,2);imhist(I);title('原始图像灰度直方图');I1=im2double(I);I2=log(I1+1);%对数变换
I3=mat2gray(I2);%把图像的灰度范围变换为【0,1】
subplot(2,2,3);imshow(I3);title('对数变换增强后的图像')subplot(2,2,4);imhist(I3);title('对数变换后灰度直方图')
figure(2);B=imadjust(I,[0.05 0.7],[0.1 1.0]);subplot(2,2,1);imshow(B);title('灰度级线性调整');subplot(2,2,2);imhist(B);title('灰度级线性调整后直方图');J=histeq(I);subplot(2,2,3);imshow(J);title('直方图规定化');subplot(2,2,4);imhist(J);title('直方图规定化后直方图');
截图:
原始图像30002000100000对数变换增强后的图像原始图像灰度直方图100200对数变换后的图像灰度直方图***.51
西安科技大学
通信学院
灰度级线性调整***000直方图规定化4000100200灰度级线性调整后直方图直方图规定化后直方图200000100200
(编写算法)clc;clear all %一,图像的预处理,读入彩色图像将其灰度化
I=imread('F:数字图像处理常用图片pepper.tif');%读入JPG彩色图像文件 figure(1);subplot(1,2,1);imshow(I);%显示出来 title('输入的彩色JPG图像')imwrite(rgb2gray(I),'PicSampleGray.bmp');%将彩色图片灰度化并保存 I_1=rgb2gray(I);%灰度化后的数据存入数组 %二,绘制直方图
[height,width]=size(I_1);%测量图像尺寸参数
GP=zeros(1,256);%预创建存放灰度出现概率的向量 for k=0:255 GP(k+1)=length(find(I_1==k))/(height*width);%计算每级灰度出现的概率,将其存入GP中相应位置 end figure(2);subplot(1,2,1);bar(0:255,GP,'r')%绘制直方图 title('原图像直方图');xlabel('灰度值');ylabel('出现概率')axis([-5 250 0 0.012])%三,直方图均衡化 S1=zeros(1,256);for i=1:256
西安科技大学
通信学院
for j=1:i S1(i)=GP(j)+S1(i);%计算Sk end end S2=round((S1*256)+0.5);%将Sk归到相近级的灰度 for i=1:256 GPeq(i)=sum(GP(find(S2==i)));%计算现有每个灰度级出现的概率 end figure(2);subplot(1,2,2);bar(0:255,GPeq,'y')%显示均衡化后的直方图 title('均衡化后的直方图');xlabel('灰度值');ylabel('axis([-5 270 0 0.012])%四,图像均衡化 PA=I;for i=0:255 PA(find(I==i))=S2(i+1);%给这个像素 end figure(1);subplot(1,2,2);imshow(PA)%title('均衡化后图像')imwrite(PA,'PicEqual.bmp');
截图:
输入的彩色JPG图像 7
出现概率')将各个像素归一化后的灰度值赋显示均衡化后的图像 均衡化后图像
西安科技大学
通信学院
原图像直方图0.0120.012均衡化后的直方图0.010.010.0080.008出现概率0.006出现概率0.0060.0040.0040.0020.0020050100灰度值***50100150灰度值200250
五、实验结果
分析:从上述实验结果可以看出,经过直方图均衡化后的图片的对比度更高,且边缘效果更高。这些图片非常有利于人眼的观看识别。直方图均衡化可以达到增强图像的显示效果的作用。通过原图像的直方图可以观察出,图像中各种亮度所占的比例大都分布不均匀,直方图增强的方法就是压缩直方图中比例少的像素所占用的灰度范围,多出来的灰度空间按照统计比例分配给直方图中比例高的像素使用。这种方法主要是针对人眼对灰度差别越大的图像更容易分辨的特点而做的增强。
直方图均衡化由于可能会丢失一些灰度级,所以造成图片信息在一定程度上的损失。变换后图像的灰度级减少也会使某些细节消失。并且某些图像经均衡化处理后的对比度不自然的过分增强。
六、成员分工
七、心得体会
通过近几周的设计,我们学到了很多东西,对如何获得知识也有
西安科技大学
通信学院
了一定的感知。首先,对这个设计题目,要做好充分的准备工作,经过在图书馆查找一些相关的资料,上网搜索一些相关的知识后,我们终于对需要的流程有了一定的规划。其次,在实际设计过程中,我们充分地利用课本上和老师提过的一些知识、思路。同时与组内同学认真交谈,相互领会对方的思路和方法,提高自己的交际能力和团队精神。再次,通过对此设计,我们对图像处理的知识有了更加深入的了解,知道了什么是图像增强,知道了怎样均衡化,知道了怎样利用图像增强的知识处理学习、生活中遇到的一些问题。
在此次程序课程设计中,收获知识的同时也收获了成熟。我们不仅培养了思考问题的能力,也提高了获取知识的能力,并且相互合作的过程中感受到一个人的力量远没有团队的力量大,遇到问题时,集体的智慧才会更有效解决,因此只有相互团结,互相学习交流,这样大家都会懂得更多,进步更快。平时也要学会谦虚向其他人学习,我们以后会更加珍惜和重视这样的机会。
第四篇:数字图像matlab结课作业[模版]
clear all;close all;I=imread('e:5.tif');imshow(I);I_gray=rgb2gray(I);figure,imshow(I_gray);I_gray_hist=imhist(I_gray);figure,imshow(I_gray_hist);Ibw=im2bw(I_gray,0.7);figure,imshow(Ibw);
第五篇:北邮数字图像处理作业
信息与通信工程学院
数字图像处理实验报告
班 级:
姓 名: 学 号:
彩色图像处理
一.实验目的
1.考虑下列500*500的RGB彩色图像,框内的颜色如图所示,假定将该图像转换到HSI空间,用25*25的平均模板模糊H分量图像,再转换回RGB空间,会看到什么结果?(b)重复(a),只是这次处理的是S分量。要求做实验,并简单分析结果
2.对原始图像 Beauty.jpg进行彩色图像处理,使以下问题得到改善:(1)整个画面光线偏暗
(2)画面在色彩上偏紫
(3)皮肤上有很多的雀斑
(4)右下角偏亮
二.实验环境
Windows7
MATLAB R2012a
三.实验思路
实验1:(1)生成所需图像,框内的颜色为绿红蓝绿;(2)将该RGB图像转换到HSI空间;
(3)用25*25的平均模板模糊H分量图像,再转换回RGB空间,并观察此时图像的变化情况;
(4)重复(2)(3),这次处理的是S分量,观察图像的变化情况。
实验2:
(1)将原图像转化为double型;(2)提升原图像的整体亮度;
(3)对原图像进行饱和度处理,使图片偏紫得到改善;(4)通过RGB平滑去除色斑;
(5)通过find函数降低图片右下角的亮度;
四.实验结果
实验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)降低原图像右下角亮度,得到最终结果:
五.实验中遇到的问题及解决办法
(1)由于实验1相对简单,并未遇到大问题;
(2)在做实验2的时候,直接对原图进行处理,导致程序不能执行,后来将原图修改为double型以后,成功解决了该问题;
(3)在做实验2的时候,由于亮度提升太高,导致结果与预期相差很大,后来降低了亮度提升的幅度以后,解决了这个问题;
(4)实验2的最终效果不是很好,想了很多办法也没有解决,希望老师可以在课上具体讲解一下。
六.实验总结及心得体会
实验总结:
根据实验要求,按照书本以及网上的资料提供的基本方法,得到上面的实验结果,经过分析,最终得到的实验结果和要求基本一致,综上所述,完成了本次实验。
心得体会:
在这次实验的开始,找到了实验的相关内容,因此实验的目标比较明确,不过在编写代码的时候仍然遇到了一些问题,后来经过查阅资料,解决了这些问题。但是实验2的效果仍然不是很理想。通过这次实验,对彩色图像的处理有了更加深刻的理解,较好的掌握了彩色空间的转换,尤其是RGB与HSI空间之间的相互转换。同时掌握了如何提升和降低彩色图像的亮度,以及对彩色图像的RGB平滑处理,调整彩色图像的饱和度。此外,对课内知识也有了更加形象的认识。
七.源程序
实验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('average',[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('beauty.jpg');
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('average',[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('最终处理结果');