当前位置:文档之家› 数字图像处理课程设计报告

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

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

数字图像处理

课程设计报告

姓名:

学号:

班级:

设计题目:图像处理

教师:赵哲老师

提交日期: 12月29日

一、设计内容:

主题:《图像处理》

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

二、涉及知识内容:

1、二值化

2、各种滤波

3、算法等

三、设计流程图

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

运行效果截图:

第一步:读取原图,并显示

close all;clear;clc;

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

I=imread('');

% 插入图片赋给I

imshow(I);% 输出图I

I1=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反复复制

q1=rgb2gray(q);

imhist(q1);

title('模糊图直方图');

二,图像处理锐化

H=fspecial('unsharp');%锐化滤波算子,unsharp不清晰的

qq=imfilter(I,H,'replicate');

qq1=rgb2gray(qq);

imhist(qq1);

title('锐化图直方图');

三,图像处理浮雕(来源网络)

%浮雕图

l=imread('');

f0=rgb2gray(l);%变灰度图

f1=imnoise(f0,'speckle',;

%高斯噪声加入密度为的高斯乘性噪声 imnoise噪声污染图像函数 speckle斑点

f1=im2double(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('');

[VG,A,PPG] = colorgrad(f);

ppg = im2uint8(PPG);

ppgf = 255 - ppg;

[M,N] = size(ppgf);T=200;

ppgf1 = zeros(M,N);

for ii = 1:M

for jj = 1:N

if ppgf(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('Input image must be RGB');

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 = *(atan(2*gxy./(gxx-gyy+eps)));

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

A = A + pi/2;

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

G2 = G2.^;

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

if nargin ==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('');

q=255-q;

imshow(q);

title('反色图');

imhist(q1);

title('反色图直方图');

七,图像处理上下对称

A=imread('');

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

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

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

a1=*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('');

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

end

end

a(:,:,1)=r;a(:,:,2)=g;a(:,:,3)=b;

imshow(a)

title('雾化处理图');

q=rgb2gray(a);

figure

imhist(q);

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

十二,图像处理高斯滤波

I = imread('');

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

% fspecial生成一个高斯滤波器

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

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

imshow(Ig);

title('高斯滤波');

I1=rgb2gray(Ig);

figure

imhist(I1);

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

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

im=imread('');

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.

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;

for i=1:x

for j=1:y

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

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

if (b1<*Db) & b2<*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;

for i=1:x

for j=1:y

if tst(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('');

% f = rgb2gray(f);

g1 = imadjust(f, [0 1], [1 0]);

g2 = imadjust(f, [ ], [0 1]);

imshow(g2);

title('明暗反转');

figure

g = rgb2gray(g2);

imhist(g);

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

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

f = imread('');

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

imshow(g);

title('负片图片');

g1=rgb2gray(g);

figure

imhist(g1);

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

%明暗反转功能让这种获得明暗反转图像的过程可用于增强潜入在大片黑色区域中的白色或灰色细节十六,图像处理直方图均衡化

a=imread('');

b=rgb2gray(a);

imshow(b);

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

imshow(c);

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

figure

imhist(c);

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

十七,图像处理椒盐噪声

M=imread('') ;

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

imshow(P2);

title('椒盐噪声 ');

qq=rgb2gray(P2);

figure

imhist(qq);

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

十八,图像处理高斯噪声

M=imread('') ;

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

imshow(P1) ;

title('高斯噪声 ');

qq=rgb2gray(P1);

figure

imhist(qq);

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

十九,图像处理类一

二十,图像处理类一

二十一,图像处理类一

二十二,图像处理类一

二十三,图像处理类一

二十四,图像处理类一

二十五,图像处理类一五,

六、心得体会

这次实验有很多效果都没做出来,木刻效果没有找到代码也没头绪,剪纸效果做了很久做不出来,只知道要先变成灰度图,调整对比度,只显示黑白两色,去掉黑色,变成只有红白色的图片就回具有剪纸效果。很多知识都想不起来代码,过程忘了,尤其是转换色彩空间做冰冻连环画效果,做了很久,也百度了很久,找不到转换。

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

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

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

均来自百度百科

数字图像处理实验报告完整版

数字图像处理 实验一 MATLAB数字图像处理初步 一、显示图像 1.利用imread( )函数读取一幅图像,假设其名为lily.tif,存入一个数组中; 2.利用whos 命令提取该读入图像flower.tif的基本信息; 3.利用imshow()函数来显示这幅图像; 实验结果如下图: 源代码: >>I=imread('lily.tif') >> whos I >> imshow(I) 二、压缩图像 4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息; 5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为lily.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。 6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flily.bmp。7.用imread()读入图像Sunset.jpg和Winter.jpg; 8.用imfinfo()获取图像Sunset.jpg和Winter.jpg的大小; 9.用figure,imshow()分别将Sunset.jpg和Winter.jpg显示出来,观察两幅图像的质量。 其中9的实验结果如下图:

源代码: 4~6(接上面两个) >>I=imread('lily.tif') >> imfinfo 'lily.tif'; >> imwrite(I,'lily.jpg','quality',20); >> imwrite(I,'lily.bmp'); 7~9 >>I=imread('Sunset.jpg'); >>J=imread('Winter.jpg') >>imfinfo 'Sunset.jpg' >> imfinfo 'Winter.jpg' >>figure(1),imshow('Sunset.jpg') >>figure(2),imshow('Winter.jpg') 三、二值化图像 10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。实验结果如下图: 源代码: >> I=imread('lily.tif') >>gg=im2bw(I,0.4); F>>igure, imshow(gg)

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

数字图像处理 课程设计报告 姓名: 学号: 班级: 设计题目:图像处理 教师:赵哲老师 提交日期: 12月29日

一、设计内容: 主题:《图像处理》 详细说明:对图像进行处理(简单滤镜,模糊,锐化,高斯模糊等),对图像进行处理(上下对称,左右对称,单双色显示,亮暗程度调整等),对图像进行特效处理(反色,实色混合,色彩平衡,浮雕效果,素描效果,雾化效果等), 二、涉及知识内容: 1、二值化 2、各种滤波 3、算法等 三、设计流程图 四、实例分析及截图效果: 运行效果截图: 第一步:读取原图,并显示 close all;clear;clc; % 清楚工作窗口clc 清空变量clear 关闭打开的窗口close all I=imread(''); % 插入图片赋给I imshow(I);% 输出图I I1=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反复复制q1=rgb2gray(q); imhist(q1); title('模糊图直方图'); 二,图像处理锐化 H=fspecial('unsharp');%锐化滤波算子,unsharp不清晰的 qq=imfilter(I,H,'replicate'); qq1=rgb2gray(qq); imhist(qq1); title('锐化图直方图'); 三,图像处理浮雕(来源网络) %浮雕图 l=imread(''); f0=rgb2gray(l);%变灰度图 f1=imnoise(f0,'speckle',; %高斯噪声加入密度为的高斯乘性噪声 imnoise噪声污染图像函数 speckle斑点 f1=im2double(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(''); [VG,A,PPG] = colorgrad(f); ppg = im2uint8(PPG); ppgf = 255 - ppg; [M,N] = size(ppgf);T=200; ppgf1 = zeros(M,N); for ii = 1:M for jj = 1:N if ppgf(ii,jj)

网页制作课程设计报告

网页制作课程设计报告 学院: 专业班级: 姓名: 学号: 成绩: 阅卷教师:

目录 1.设计目的 (1) 2.设计思想 (1) 2.1网站整体结构规划思想 (1) 2.2 主页设计思想 (1) 2.3子页的设计思想 (1) 3网页详细设计分析 (1) 4结论 (2)

1.设计目的 阐述该个人网站的设计意图和创意,简单介绍自己的个人网站。 2.设计思想 阐述网站的整体设计思想,包括: 2.1网站整体结构规划思想 要求阐述网站整体结构的选择、设计的思想,绘制网站结构草图。 2.2 主页设计思想 要求对主页的布局思路进行阐述和分析。 2.3子页的设计思想 要求对子页的设计以及网页对象的选取思路进行阐述和分析。 3网页详细设计分析 要求选取一张网页,对网页的设计实现过程进行阐述和分析,详细说明制作该网页的步骤,所使用的网页对象以及该网页对象的操作方法。

4结论 对整个设计报告做归纳性总结,并分析设计过程中的困难及如何解决的,最后提出展望。 一、设计目的 本课程的设计目的是通过实践使同学们经历Dreamweaver cs3开发的全过程和受到一次综合训练,以便能较全面地理解、掌握和综合运用所学的知识。结合具体的开发案例,理解并初步掌握运用Dreamweaver cs3可视化开发工具进行网页开发的方法;了解网页设计制作过程。通过设计达到掌握网页设计、制作的技巧。了解和熟悉网页设计的基础知识和实现技巧。根据题目的要求,给出网页设计方案,可以按要求,利用合适图文素材设计制作符合要求的网页设计作品。熟练掌握Photoshop cs3、Dreamweaver cs3等软件的的操作和应用。增强动手实践能力,进一步加强自身综合素

数字图像处理实验报告

实验一灰度图像直方图统计 一、实验目的 掌握灰度图像直方图的概念和计算方法,了解直方图的作用和用途。提高学生编程能力,巩固所学知识。 二、实验内容和要求 (1)用Photoshop显示、了解图像平均明暗度和对比度等信息; (2)用MatLab读取和显示一幅灰度图像; (3)用MatLab编写直方图统计的程序。 三、实验步骤 1. 使用Photoshop显示直方图: 1)点击文件→打开,打开一幅图像; 2)对图像做增强处理,例如选择图像→调整→自动对比度对图像进行灰度拉伸,观察图像进行对比度增强前后的视觉变化。 3)利用统计灰度图像直方图的程序分别针对灰度拉伸前后的灰度图像绘制其灰度直方图,观察其前后的直方图变化。 2.用MatLab读取和显示一幅灰度图像; 3. 绘制图像的灰度直方图; function Display_Histogram()

Input=imread('timg.jpg'); figure(100); imshow(uint8(Input)); title('原始图像'); Input_Image=rgb2gray(Input); figure(200); imshow(uint8(Input_Image)); title('灰度图像'); sum=0; His_Image=zeros(1,256); [m,n]=size(Input_Image); for k=0:255 for I=1:m for j=1:n if Input_Image(I,j)==k His_Image(k+1)=His_Image(k+1)+1; end end end end figure(300); plot(His_Image); title('图像的灰度直方图'); 4.显示图像的灰度直方图。

电子科技大学-数字图像处理-课程设计报告

电子科技大学 数字图像处理课程设计 课题名称数字图像处理 院(系)通信与信息工程学院 专业通信工程 姓名 学号 起讫日期 指导教师

2015年12月15日 目录 摘要: (03) 课题一:图像的灰度级分辨率调整 (04) 课题二:噪声的叠加与频域低通滤波器应用 (06) 课题三:顶帽变换在图像阴影校正方面的应用 (13) 课题四:利用Hough变换检测图像中的直线 (15) 课题五:图像的阈值分割操作及区域属性 (20) 课题六:基于MATLAB?的GUI程序设计 (23)

结束语: (36) 参考文献: (37)

基于MATLAB?的数字图像处理课题设计 摘要 本文首先对数字图像处理的相关定义、概念、算法与常用变换进行了介绍;并通过七个课题实例,借助MATLAB?的图像处理工具箱(Computer Vision System Toolbox)对这些案例逐一实现,包括图像的灰度值调整、图像噪声的叠加、频域低通滤波器、阈值分割、Hough变换等,常用的图像变化与处理;然后通过MATLAB?的GUI程序设计,对部分功能进行模块化整合,设计出了数字图像处理的简易软件;最后给出了软件的帮助文件以及该简易程序的系统结构和m代码。 关键词:灰度值调整噪声图像变换 MATLAB? GUI设计

课题一:图像的灰度级分辨率调整 设计要求: 128,64,32,16,8,4,2,并在同一个figure窗将图像的灰度级分辨率调整至{} 口上将它们显示出来。 设计思路: 灰度级分辨率又称色阶,是指图像中可分辨的灰度级的数目,它与存储灰度级别所使用的数据类型有关。由于灰度级度量的是投射到传感器上的光辐射值的强度,所以灰度级分辨率又称为辐射计量分辨率。随着图像灰度级分辨率的的逐渐降低,图像中所包含的颜色数目将变得越来越少,从而在颜色维度造成图像信息量的退化。 MATLAB?提供了histeq函数用于图像灰度值的改变,调用格式如下: J = histeq(I,n) 其中J为变换后的图像,I为输入图像,n为变换的灰度值。依次改变n的值为 128、64、32、16、8、4、2 就可以得到灰度值分辨率为128、64、32、16、8、4、2 的输出图像。利用MATLAB?的subplot命令可以将不同灰度的图像放在同一个figure中方便对比。 课题实现: 该思路的MATLAB?源代码如下: in_photo=imread('lena.bmp'); %读入图片“lena.bmp”,位置在matlab当前工作区路径下D:\TempProject\Matlab\Works for i = [128,64,32,16,8,4,2] syms(['out_photo',num2str(i)]); %利用for循环定义7个变量,作为不同灰度值分辨率的输出变量 eval(['out_photo',num2str(i), '=histeq(in_photo,i)',';']); %histeq函数用于改变图像灰度值,用eval函数给变量循环赋值

WEB个人主页课程设计

Web应用开发技术 实验报告 专业:计算机科学与技术 班级: 学号: 姓名:

一、设计题目 个人网站 二、目的 1、本次设计是学生在学完ASP动态网站开发课程后的一次实践性很强的课程设计,是对ASP进行动态网站开发所学知识的综合运用。 2、掌握使用ASP技术进行网站开发设计。 3、通过本次实习,使学生加深所学知识内容的理解,并能积极地调动学生的学习兴趣,结合实际应用操作环境,真正做到理论与实际相结合。 三、功能需求描述 此网站可以对主人留言,来发表自己的心情,也可以把自己的联系方式写入其中,达到和睦相处、心灵的驿站的目的等。 四、总体设计

五、详细设计 (一)、我的主页 此页面为网站的主页,通过发布新心情,点击通讯录可以查看通讯录好友信息,点击留言板可以查看好友留言。 主要代码: 个人空间