1、数字图像处理课程设计报告姓 名: 学 号: 班 级: .net 设计题目: 图像处理 教 师: 赵哲 老师 提交日期: 12月29日 一、设计内容:主题:图像处理详细说明:对图像进行处理(简单滤镜,模糊,锐化,高斯模糊等),对图像进行处理(上下对称,左右对称,单双色显示,亮暗程度调整等),对图像进行特效处理(反色,实色混合,色彩平衡,浮雕效果,素描效果,雾化效果等),二、涉及知识内容:1、二值化2、各种滤波3、算法等三、设计流程图 插入图片 对图片进行处理 二值化处理 重复 输出两幅图 结束 四、实例分析及截图效果:运行效果截图:第一步:读取原图,并显示close all;clear;clc;
2、% 清楚工作窗口clc 清空变量clear 关闭打开的窗口close all I=imread(1.jpg);% 插入图片1.jpg 赋给Iimshow(I);% 输出图II1=rgb2gray(I);%图片变灰度图figure%新建窗口subplot(321);% 3行2列第一幅图imhist(I1);%输出图片title(原图直方图);%图片名称一,图像处理 模糊 H=fspecial(motion,40);% 滤波算子 模糊程度40 motion运动q=imfilter(I,H,replicate);%imfilter实现线性空间滤波函数,I图经过H滤波处理,replicate反复复制q
3、1=rgb2gray(q);imhist(q1);title(模糊图直方图);二,图像处理 锐化H=fspecial(unsharp);%锐化滤波算子,unsharp不清晰的qq=imfilter(I,H,replicate);qq1=rgb2gray(qq);imhist(qq1);title(锐化图直方图);三,图像处理 浮雕(来源网络)%浮雕图l=imread(1.jpg);f0=rgb2gray(l);%变灰度图f1=imnoise(f0,speckle,0.01);%高斯噪声 加入密度为0.01的高斯乘性噪声 imnoise噪声污染图像函数 speckle斑点f1=im2double
4、(f1);%把图像数据类型转换为双精度浮点类型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);%卷积和多项式相乘 same相同的k=mat2gray(g3);% 实现图像矩阵的归一化操作四,图像处理 素描(来源网络)f=imread(1.jpg);VG,A,PPG = colorgrad(f);ppg = im2uint8(PPG);ppgf = 255 - ppg;M,N = size(ppgf);T=200;p
5、pgf1 = zeros(M,N);for ii = 1:M for jj = 1:N if ppgf(ii,jj)T).*VG; PPG = (PPGT).*PPG;end f1=rgb2gray(f);imhist(f1);title(素描图直方图);五,图像处理 实色混合(来源网络)%实色混合I(I127)=255; %对像素进行处理,若值大于127,置255imshow(I);title(像素图);I1=rgb2gray(f);imhist(I1);title(像素图直方图);六,图像处理 反色图f=imread(1.jpg);q=255-q;imshow(q);title(反色图);
6、imhist(q1);title(反色图直方图);七,图像处理 上下对称 A=imread(1.jpg);B=A;a,b,c=size(A); a1=floor(a/2); b1=floor(b/2); c1=floor(c/2); B(1:a1,1:b,1:c)=A(a:-1:a-a1+1,1:b,1:c); figure imshow(B)title(上下对称); A=rgb2gray(A);figure imhist(A) title(上下对称直方图); 八,图像处理类 左右对称 C=imread(1.jpg); A=C; C(1:a,1:b1,1:c)=A(1:a,b:-1:b+1-b
7、1,1:c); figure imshow(C) title(左右对称); A=rgb2gray(A);figureimhist(A);title(左右对称直方图);九,图像处理 单双色显示 a=imread(1.jpg); a1=a(:,:,1);a2=a(:,:,2); a3=a(:,:,3); aa=rgb2gray(a); a4=cat(3,a1,aa,aa); a5=cat(3,a1,a2,aa); figure subplot(121); imshow(a4); title(单色显示); subplot(122); imshow(a5); title(双色显示); a4=rgb2g
8、ray(a4); a5=rgb2gray(a5); figure subplot(121); imhist(a4); title(单色显示直方图); subplot(122); imhist(a5); title(双色显示直方图);十,图像处理 亮暗度调整a=imread(1.jpg); a1=0.8*a;a2=2*a;figuresubplot(121);imshow(a1);title(暗图);subplot(122);imshow(a2);title(亮图) q3=rgb2gray(a1);q4=rgb2gray(a2);figuresubplot(121);mhist(q3);titl
9、e(暗图直方图)subplot(122);imhist(q4);title(亮图直方图)十一,图像处理 雾化处理q=imread(1.jpg);m=size(q,1);n=size(q,2);r=q(:,:,1);g=q(:,:,2);b=q(:,:,3);for i=2:m-10 for j=2:n-10 k=rand(1)*10;%产生一个随机数作为半径 di=i+round(mod(k,33);%得到随机横坐标 dj=j+round(mod(k,33);%得到随机纵坐标 r(i,j)=r(di,dj);%将原像素点用随机像素点代替 g(i,j)=g(di,dj); b(i,j)=b(di
10、,dj); endenda(:,:,1)=r;a(:,:,2)=g;a(:,:,3)=b;imshow(a)title(雾化处理图);q=rgb2gray(a);figureimhist(q);title(雾化处理图直方图);十二,图像处理 高斯滤波I = imread(1.jpg);G =fspecial(gaussian, 5 5, 2);% fspecial生成一个高斯滤波器Ig =imfilter(I,G,same);%imfilter使用该滤波器处理图片imshow(Ig);title(高斯滤波);I1=rgb2gray(Ig);figureimhist(I1);title(高斯滤波
11、直方图);十三,图像处理 色彩平衡(来自网络)im=imread(1.jpg);im2=im;%存储元图像im1=rgb2ycbcr(im);%将im RGB图像转换为YCbCr空间。YCbCr空间 Y亮度信息。 Cb是蓝色分量和一个参考值得差%Cr是红色分量和一个参考值得差。?%im1是一个M*N*3的矩阵。Lu=im1(:,:,1);%获取亮度分量 ?是一个M*N矩阵Cb=im1(:,:,2);%获取蓝色偏差量 ?Cb是一个M*N的矩阵Cr=im1(:,:,3);%获取红色偏差量 ?Cr是一个M*N的矩阵 x y z=size(im);%获得im的size将值赋给x=M y=N z=3.t
12、st=zeros(x,y); %建立一个M*N的0矩阵tstMb=sum(sum(Cb); %sum(Cb)将每一列相加得到一个N维行向量。 sum(sum(Cb)将行向量元素相加。得到一个数MbMr=sum(sum(Cr);%同理得到Mr Mb=Mb/(x*y);Mr=Mr/(x*y);%Mb,Mr分别除以x*y. 得到蓝色和红色的均值。 Db=sum(sum(Cb-Mb)/(x*y); Dr=sum(sum(Cr-Mr)/(x*y); %得到b,r的方差 cnt=1; for i=1:xfor j=1:yb1=Cb(i,j)-(Mb+Db*sign(Mb);b2=Cr(i,j)-(1.5*
13、Mr+Dr*sign(Mr);if (b1(1.5*Db) & b2(1.5*Dr);Ciny(cnt)=Lu(i,j); %获得一个列向量Ciny维度为cnt-1tst(i,j)=Lu(i,j);cnt=cnt+1;endendendcnt=cnt-1;iy=sort(Ciny,descend);%将列向量Ciny元素降序排列nn=round(cnt/10);Ciny2(1:nn)=iy(1:nn); %将iy的1到nn个元素复制给Ciny2mn=min(Ciny2);c=0;for i=1:xfor j=1:yif tst(i,j)mntst(i,j)=0;elsetst(i,j)=1;c
14、=c+1;endendendR=im(:,:,1);G=im(:,:,2);B=im(:,:,3);R=double(R).*tst; %将R元素与tst元素对应相乘G=double(G).*tst;B=double(B).*tst;Rav=mean(mean(R);%求均值先列后行Gav=mean(mean(G);Bav=mean(mean(B);Ymax=double(max(max(Lu)/15;Rgain=Ymax/Rav;Ggain=Ymax/Gav;Bgain=Ymax/Bav;im(:,:,1)=im(:,:,1)*Rgain;im(:,:,2)=im(:,:,2)*Ggain;
15、im(:,:,3)=im(:,:,3)*Bgain;W=im;figure,imshow(im2,),title(原始图像);figure,imshow(im,),title(色彩平衡处理后的图像);im1=rgb2gray(im);% subplot(326);figureimhist(im1);title(色彩平衡处理后直方图);十四,图像处理 明暗反转(网络)f = imread(1.jpg);% f = rgb2gray(f);g1 = imadjust(f, 0 1, 1 0);g2 = imadjust(f, 0.5 0.75, 0 1);imshow(g2);title(明暗反转
16、);figureg = rgb2gray(g2);imhist(g);title(明暗反转直方图); 十五,图像处理 反转负冲效果(负片图片)f = imread(1.jpg);g =imcomplement(f);%IPT函数imcomplementimshow(g);title(负片图片);g1=rgb2gray(g);figureimhist(g1);title(负片图片直方图);%明暗反转功能让这种获得明暗反转图像的过程可用于增强潜入在大片黑色区域中的白色或灰色细节十六,图像处理 直方图均衡化a=imread(1.jpg);b=rgb2gray(a); imshow(b); c=his
17、teq(b); %直方图均衡化imshow(c); title(直方图均衡化);figureimhist(c);title(直方图均衡化直方图);十七,图像处理 椒盐噪声M=imread(1.jpg) ; P2=imnoise(M,salt & pepper,0.02); %加入椒盐噪声imshow(P2); title(椒盐噪声 );qq=rgb2gray(P2);figureimhist(qq);title(椒盐噪声直方图);十八,图像处理 高斯噪声M=imread(1.jpg) ; P1=imnoise(M,gaussian,0.02); %加入高斯噪声imshow(P1) ;title
18、(高斯噪声 );qq=rgb2gray(P1);figureimhist(qq);title(高斯噪声直方图);十九,图像处理类一二十,图像处理类一二十一,图像处理类一二十二,图像处理类一二十三,图像处理类一二十四,图像处理类一二十五,图像处理类一五,六、心得体会这次实验有很多效果都没做出来,木刻效果没有找到代码也没头绪,剪纸效果做了很久做不出来,只知道要先变成灰度图,调整对比度,只显示黑白两色,去掉黑色,变成只有红白色的图片就回具有剪纸效果。很多知识都想不起来代码,过程忘了,尤其是转换色彩空间做冰冻连环画效果,做了很久,也百度了很久,找不到转换。这次实验最大认知就是知道的Matlab有多么的高大上,可以做动漫,可以做PS里的几乎所有功能,比PS更加细致化,数字化,对图像处理的特效,可以随心所欲的做处理。可惜时间不多,也没有做出更多的效果,深表遗憾,对知识的掌握不熟练,书上得来终觉浅,课下会更多的实践,去了解,去学习,去实践,去对Matlab做更深入的学习。七、程序资料清单和源代码均来自百度百科Welcome ToDownload !欢迎您的下载,资料仅供参考!
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100