数字图像处理 课程设计报告 matlab.docx

上传人:b****3 文档编号:6035457 上传时间:2023-05-09 格式:DOCX 页数:16 大小:27.81KB
下载 相关 举报
数字图像处理 课程设计报告 matlab.docx_第1页
第1页 / 共16页
数字图像处理 课程设计报告 matlab.docx_第2页
第2页 / 共16页
数字图像处理 课程设计报告 matlab.docx_第3页
第3页 / 共16页
数字图像处理 课程设计报告 matlab.docx_第4页
第4页 / 共16页
数字图像处理 课程设计报告 matlab.docx_第5页
第5页 / 共16页
数字图像处理 课程设计报告 matlab.docx_第6页
第6页 / 共16页
数字图像处理 课程设计报告 matlab.docx_第7页
第7页 / 共16页
数字图像处理 课程设计报告 matlab.docx_第8页
第8页 / 共16页
数字图像处理 课程设计报告 matlab.docx_第9页
第9页 / 共16页
数字图像处理 课程设计报告 matlab.docx_第10页
第10页 / 共16页
数字图像处理 课程设计报告 matlab.docx_第11页
第11页 / 共16页
数字图像处理 课程设计报告 matlab.docx_第12页
第12页 / 共16页
数字图像处理 课程设计报告 matlab.docx_第13页
第13页 / 共16页
数字图像处理 课程设计报告 matlab.docx_第14页
第14页 / 共16页
数字图像处理 课程设计报告 matlab.docx_第15页
第15页 / 共16页
数字图像处理 课程设计报告 matlab.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数字图像处理 课程设计报告 matlab.docx

《数字图像处理 课程设计报告 matlab.docx》由会员分享,可在线阅读,更多相关《数字图像处理 课程设计报告 matlab.docx(16页珍藏版)》请在冰点文库上搜索。

数字图像处理 课程设计报告 matlab.docx

数字图像处理课程设计报告matlab

数字图像处理

课程设计报告

姓名:

学号:

班级:

.net

设计题目:

图像处理

教师:

赵哲老师

提交日期:

12月29日

一、设计内容:

主题:

《图像处理》

详细说明:

对图像进行处理(简单滤镜,模糊,锐化,高斯模糊等),对图像进行处理(上下对称,左右对称,单双色显示,亮暗程度调整等),对图像进行特效处理(反色,实色混合,色彩平衡,浮雕效果,素描效果,雾化效果等),

二、涉及知识内容:

1、二值化

2、各种滤波

3、算法等

三、设计流程图

插入图片

对图片进行处理

二值化处理

重复

输出两幅图

结束

四、实例分析及截图效果:

运行效果截图:

第一步:

读取原图,并显示

closeall;clear;clc;

%清楚工作窗口clc清空变量clear关闭打开的窗口closeall

I=imread('1.jpg');

%插入图片1.jpg赋给I

imshow(I);%输出图I

I1=rgb2gray(I);%图片变灰度图

figure%新建窗口

subplot(321);%3行2列第一幅图

imhist(I1);%输出图片

title('原图直方图');%图片名称

一,图像处理模糊

H=fspecial('motion',40);

%%滤波算子模糊程度40motion运动

q=imfilter(I,H,'replicate');%imfilter实现线性空间滤波函数,I图经过H滤波处理,replicate反复复制

q1=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(f1);%把图像数据类型转换为双精度浮点类型

h3=1/9.*[111;111;111];

%采用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;

ppgf1=zeros(M,N);

forii=1:

M

forjj=1:

N

ifppgf(ii,jj)

ppgf1(ii,jj)=0;

else

ppgf1(ii,jj)=235/(255-T)*(ppgf(ii,jj)-T);

end

end

end

ppgf1=uint8(ppgf1);

H=fspecial('unsharp');

Motionblur=imfilter(ppgf1,H,'replicate');

figure;imshow(ppgf1);

调用

function[VG,A,PPG]=colorgrad(f,T)

if(ndims(f)~=3)||(size(f,3)~=3)

error('InputimagemustbeRGB');

end

sh=fspecial('sobel');

sv=sh';

Rx=imfilter(double(f(:

:

1)),sh,'replicate');

Ry=imfilter(double(f(:

:

1)),sv,'replicate');

Gx=imfilter(double(f(:

:

2)),sh,'replicate');

Gy=imfilter(double(f(:

:

2)),sv,'replicate');

Bx=imfilter(double(f(:

:

3)),sh,'replicate');

By=imfilter(double(f(:

:

3)),sv,'replicate');

gxx=Rx.^2+Gx.^2+Bx.^2;

gyy=Ry.^2+Gy.^2+By.^2;

gxy=Rx.*Ry+Gx.*Gy+Bx.*By;

A=0.5*(atan(2*gxy./(gxx-gyy+eps)));

G1=0.5*((gxx+gyy)+(gxx-gyy).*cos(2*A)+2*gxy.*sin(2*A));

A=A+pi/2;

G2=0.5*((gxx+gyy)+(gxx-gyy).*cos(2*A)+2*gxy.*sin(2*A));

G1=G1.^0.5;

G2=G2.^0.5;

VG=mat2gray(max(G1,G2));

RG=sqrt(Rx.^2+Ry.^2);

GG=sqrt(Gx.^2+Gy.^2);

BG=sqrt(Bx.^2+By.^2);

PPG=mat2gray(RG+GG+BG);

ifnargin==2

VG=(VG>T).*VG;

PPG=(PPG>T).*PPG;

end

f1=rgb2gray(f);

imhist(f1);

title('素描图直方图');

五,图像处理实色混合(来源网络)

%实色混合

I(I<=127)=0;%对像素进行处理,若值小于等于127,置0

I(I>127)=255;%对像素进行处理,若值大于127,置255

imshow(I);

title('像素图');

I1=rgb2gray(f);

imhist(I1);

title('像素图直方图');

六,图像处理反色图

f=imread('1.jpg');

q=255-q;

imshow(q);

title('反色图');

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-b1,1:

c);

figure

imshow(C)

title('左右对称');

A=rgb2gray(A);

figure

imhist(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=rgb2gray(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;

figure

subplot(121);imshow(a1);

title('暗图');

subplot(122);

imshow(a2);

title('亮图')

q3=rgb2gray(a1);q4=rgb2gray(a2);

figure

subplot(121);mhist(q3);title('暗图直方图')

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);

fori=2:

m-10

forj=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,dj);

end

end

a(:

:

1)=r;a(:

:

2)=g;a(:

:

3)=b;

imshow(a)

title('雾化处理图');

q=rgb2gray(a);

figure

imhist(q);

title('雾化处理图直方图');

十二,图像处理高斯滤波

I=imread('1.jpg');

G=fspecial('gaussian',[55],2);

%fspecial生成一个高斯滤波器

Ig=imfilter(I,G,'same');

%imfilter使用该滤波器处理图片

imshow(Ig);

title('高斯滤波');

I1=rgb2gray(Ig);

figure

imhist(I1);

title('高斯滤波直方图');

十三,图像处理色彩平衡(来自网络)

im=imread('1.jpg');

im2=im;%存储元图像

im1=rgb2ycbcr(im);

%将imRGB图像转换为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的矩阵

[xyz]=size(im);%获得im的size将值赋给x=My=Nz=3.

tst=zeros(x,y);%建立一个M*N的0矩阵tst

Mb=sum(sum(Cb));

%sum(Cb)将每一列相加得到一个N维行向量。

sum(sum(Cb))将行向量元素相加。

得到一个数Mb

Mr=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;

fori=1:

x

forj=1:

y

b1=Cb(i,j)-(Mb+Db*sign(Mb));

b2=Cr(i,j)-(1.5*Mr+Dr*sign(Mr));

if(b1<(1.5*Db)&b2<(1.5*Dr));

Ciny(cnt)=Lu(i,j);%获得一个列向量Ciny维度为cnt-1

tst(i,j)=Lu(i,j);

cnt=cnt+1;

end

end

end

cnt=cnt-1;

iy=sort(Ciny,'descend');%将列向量Ciny元素降序排列

nn=round(cnt/10);

Ciny2(1:

nn)=iy(1:

nn);%将iy的1到nn个元素复制给Ciny2

mn=min(Ciny2);

c=0;

fori=1:

x

forj=1:

y

iftst(i,j)

tst(i,j)=0;

else

tst(i,j)=1;

c=c+1;

end

end

end

R=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;

im(:

:

3)=im(:

:

3)*Bgain;

W=im;

figure,imshow(im2,[]),title('原始图像');

figure,imshow(im,[]),title('色彩平衡处理后的图像');

im1=rgb2gray(im);

%subplot(326);

figure

imhist(im1);

title('色彩平衡处理后直方图');

十四,图像处理明暗反转(网络)

f=imread('1.jpg');

%f=rgb2gray(f);

g1=imadjust(f,[01],[10]);

g2=imadjust(f,[0.50.75],[01]);

imshow(g2);

title('明暗反转');

figure

g=rgb2gray(g2);

imhist(g);

title('明暗反转直方图');

十五,图像处理反转负冲效果(负片图片)

f=imread('1.jpg');

g=imcomplement(f);%IPT函数imcomplement

imshow(g);

title('负片图片');

g1=rgb2gray(g);

figure

imhist(g1);

title('负片图片直方图');

%明暗反转功能让这种获得明暗反转图像的过程可用于增强潜入在大片黑色区域中的白色或灰色细节

十六,图像处理直方图均衡化

a=imread('1.jpg');

b=rgb2gray(a);

imshow(b);

c=histeq(b);%直方图均衡化

imshow(c);

title('直方图均衡化');

figure

imhist(c);

title('直方图均衡化直方图');

十七,图像处理椒盐噪声

M=imread('1.jpg');

P2=imnoise(M,'salt&pepper',0.02);%加入椒盐噪声

imshow(P2);

title('椒盐噪声');

qq=rgb2gray(P2);

figure

imhist(qq);

title('椒盐噪声直方图');

十八,图像处理高斯噪声

M=imread('1.jpg');

P1=imnoise(M,'gaussian',0.02);%加入高斯噪声

imshow(P1);

title('高斯噪声');

qq=rgb2gray(P1);

figure

imhist(qq);

title('高斯噪声直方图');

十九,图像处理类一

二十,图像处理类一

二十一,图像处理类一

二十二,图像处理类一

二十三,图像处理类一

二十四,图像处理类一

二十五,图像处理类一

五,

六、心得体会

这次实验有很多效果都没做出来,木刻效果没有找到代码也没头绪,剪纸效果做了很久做不出来,只知道要先变成灰度图,调整对比度,只显示黑白两色,去掉黑色,变成只有红白色的图片就回具有剪纸效果。

很多知识都想不起来代码,过程忘了,尤其是转换色彩空间做冰冻连环画效果,做了很久,也XX了很久,找不到转换。

这次实验最大认知就是知道的Matlab有多么的高大上,可以做动漫,可以做PS里的几乎所有功能,比PS更加细致化,数字化,对图像处理的特效,可以随心所欲的做处理。

可惜时间不多,也没有做出更多的效果,深表遗憾,对知识的掌握不熟练,书上得来终觉浅,课下会更多的实践,去了解,去学习,去实践,去对Matlab做更深入的学习。

七、程序资料清单和源代码

均来自XX百科

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2