1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,图像特殊效果处理程序,李志鹏,09,自动化,200992140116,此程序使用,matlab,制作,能对图像 进行浮雕,、,底片、伪色彩、油画、单线条等特殊效果的处理。,通过此程序可以进一步的掌握用,matlab,来处理有关图像的问题。,以下是各种效果的具体介绍。,浮雕效果,%,改为灰度图像,f0=rgb2gray(handles.pic);,%,加入高斯噪声,f1=imnoise(f0,speckle,0.01);%,加入密度,0.01,的高斯乘性噪声,f1=im2double(f1);,%,给定均
2、值滤波窗口,h3=1/9.*1 1 1;1 1 1;1 1 1;,%,采用,H3,对,F2,进行卷积滤波,f4=conv2(f1,h3,same);,%,进行,sobel,滤波,h2=fspecial(sobel);,g3=filter2(h2,f1,same);,K=mat2gray(g3);,figure(5),imshow(K);title(,浮雕效果,);,底片效果,我们所见到各种色彩都是由红、绿、蓝,3,种颜色按区别比例混合而成这就是我们所说,3,基色它们颜,色值,(RGB,值,),是,0,255,所以我们只需去图像上各个点,RGB,值然后用,255,减去这个值并将这个值重新赋值给各
3、个点就会达到我们想要底片效果了。,y=255-handles.pic;%,转化为反色图像,figure,imshow(y);title(,底片效果,);%,显示反色图像,伪色彩效果,所谓伪色彩处理,就是将图像中的灰度级经由线性或非线性变换成不同的彩色。,handles.pic=rgb2gray(handles.pic);,读入源图像,M,N=size(handles.pic);,读取图像的大小,for i=1:M;,for j=1:N;,if handles.pic(i,j)32,转化为蓝色,B(i,j,:,:,:)=0,0,1;,elseif handles.pic(i,j)64,转化为绿色
4、,B(i,j,:,:,:)=0,1,0;,elseif handles.pic(i,j)96,转化为淡蓝色,B(i,j,:,:,:)=0.4,0.9,1;,elseif handles.pic(i,j)128,转化为紫色,B(i,j,:,:,:)=1,0,1;,elseif handles.pic(i,j)160,转化为红色,B(i,j,:,:,:)=1,0,0;,elseif handles.pic(i,j)192,转化为橙色,B(i,j,:,:,:)=1,0.8,0;,elseif handles.pic(i,j)224,转化为黄色,B(i,j,:,:,:)=1,1,0;,elseif h
5、andles.pic(i,j)0&i0&j=height,intensity=I(i,j)+1;,intensity_counter(intensity)=intensity_counter(intensity)+1;,R(intensity)=handles.pic(i,j,1);,G(intensity)=handles.pic(i,j,2);,B(intensity)=handles.pic(i,j,3);,end,end,end,%finding the maximum occuring intensity in downsampled image,max_instance index
6、=max(intensity_counter);,I_painted(x,y,1)=R(index);,I_painted(x,y,2)=G(index);,I_painted(x,y,3)=B(index);,end,end,toc,figure,imshow(I_painted,);title(,油画效果,);,单线条效果,handles.pic=rgb2gray(handles.pic);,bw=edge(handles.pic,canny);%,数字图像轮廓提取,se=strel(line,3,0);%,创建直线长度,3,角度为,0,形态学元素,bwd=imdilate(bw,se);%,对图像实施膨胀操作,figure,imshow(bwd);title(,单线条效果,);,谢谢观看,