《数字图像处理》上机实验报告4

《数字图像处理》上机实验报告4
《数字图像处理》上机实验报告4

数字图像处理上机实验报告

实验名称:彩色图像处理

学期:2014/2015上学期

班级:电子1102班

姓名:陈玮

学号:3110209424

实验时间:2014.11.24

实验四彩色图像处理

1 目的

1.了解彩色图像导入到Matlab中的书籍结构,掌握对R,G,B分量的表示方法;

2.了解彩色图像处理的基本原理和方法;

3.掌握彩色图像与灰度图像质检相互转化的基本原理

2器材

(1)bmp格式灰度图像(2)matlab软件(3)台式PC

3原理

1彩色图像及其增强方法

(1)图像增强

图像增强就是通过对图像的某些特征,如对比度、轮廓等进行强调,使之更适合于人眼的观察或机器处理的一种技术。

图像增强技术分为两大类,一类是空间域方法,即在图像平面对图像的像素灰度值进行运算处理的方法;另一类是频率域方法,是指在图像的频率域中对图像进行某种处理[1]。

(2)彩色图像与灰度图像区别

彩色图像和灰度图像的根本区别是:在彩色图像中,每个像素用一个矢量(一般包括三个分量)来表示,即R分量、G分量和B分量。而灰度图像每一个像素只用一个标量来表示。这样,处理彩色图像时处理的是矢量,处理灰度图像处理的是标量。我们也可以把彩色图像中的三个分量分开,分别计算加工再进行结合,这种处理技术称为基于单色的技术。如果不把这三个分量分开计算,而是根据矢量规范将彩色信息当矢量空间中的彩色矢量来进行加工,这样的技术称为矢量值技术。

2.彩色空间简介 (1)RGB 彩色空间简介

一幅RGB 图像就是彩色像素的一个3M N ??数组,其中每一个彩色像素点都是在特

定空间位置的红、绿、蓝三个分量[2]

。由于彩色显示器采用红、绿和蓝来生成目标颜色,所以RGB 颜色空间是计算机图形学最通常的选择。但是,当处理图像时,使用RGB 颜色空间并不是很有效。此外,要在RGB 颜色空间中生成任何一种颜色,三个RGB 分量都需要占用相同的带宽。这就使得每个RGB 颜色分量需要同样的像素深度和现实分辨率。

(2) HSI 彩色空间简介

HIS [3] (hue ,色度;saturation ,饱和度;intensity ,亮度)颜色空间将亮度分量与一幅彩色图像中携带的彩色信息分开。因此,HIS 模型对于开发基于彩色描述的图像处理算法是一个理想的工具,使得图像看起来更加自然和直观。

RGB 彩色图像是有三幅单色的亮度图像构成的,所以一定可以从一幅RGB 图像中提取出图像的亮度信息。

(3)RGB 彩色空间到HIS 彩色空间的转换

若给出一幅RGB 图像,则每一个RGB 像素的H 、S 、I 分量分别可由下面的方程得出

[2]

360B G

H B G θθ

≤??

->?若若 (式2-1)

其中,

1[()()]2arccos R G R B θ??

-+-??

=????

??

212[(R-G)+(R-B)(G-B)] (式2-2) 3

1[min(,,)]()

S R G B R G B =-

++ (式2-3)

1

()3

I R G B =++ (式2-4)

(4)HSI 彩色空间到RGB 彩色空间的转换

对于HSI 空间在[0,1]范围内S 和I 的值,对应的RGB 模型中的在[0,1]范围内的R 、G 、B 值可分段地按如下公式计算得出[3]

当0120H ≤<时:

(1)B I S =- (式2-5)

cos 1cos(60)S H R I H ??

=+

??-??

(式2-6)

3()G I B R =-+ (式2-7)

当120240H ≤<时:

(1)R I S =- (式2-8)

cos(120)1cos(180)S H G I H ??

-=+

??-??

(式2-9) 3()B I G R =-+ (式2-10)

当240120H ≤<时:

(1)G I S =- (式2-11)

cos(240)1cos(300)S H B I H ??

-=+??-?

? (式2-12) 3()R I G B =-+ (式2-13)

3彩色图像增强处理方法

彩色图像的增强一般根据其处理对象的不同可以分为伪彩色增强、真彩色增强和假彩

色增强三种。本文主要讨论伪彩色增强和真彩色增强的实现方法。

伪彩色增强

所谓伪彩色,就是假的颜色,即不是物体本身的颜色,所以这个颜色是人为加到物体上的,换句话说,就是伪彩色增强处理就是给灰度图像或单色图像增加色彩。此外,根据人眼的生理特性及日常生活体验可知,人眼对灰度差异的识别区分能力很差,一般能够区分的灰度级只有20多个。但是人眼识别和区分彩色的能力却很大,可以达到灰度分辨能力的百倍以上。伪彩色就是利用人眼的这个特性,把人眼难以区分的灰度图像以一定的方式映射为彩色图像,以达到人眼对图像的分辨能力。那么,如果按某种映射方式把灰度图像映射到彩色图像的色彩越丰富,人眼所能提取的信息也就越多,图像增强的效果也就越突出。

伪彩色增强主要有密度分割法、彩色变换法和频率滤波法的伪彩色增强三种方法[4]

(1) 密度分割法

密度分割法是伪彩色图像增强中最简单、最基本的方法。该算法基本思想是将灰度图像中的任意一点的灰度值看作该点的密度函数,把密度函数分割成几个相互独立的区间,给每个区间分配一种颜色。接下来具体阐述密度分割法的实现原理。

设一幅灰度图像(,)f x y ,可以看成是坐标(,)x y 的一个密度函数。把图像的灰度分为若干个等级。

设原黑白图像的灰度范围为0(,)f x y L ≤≤,用1k +灰度级把该灰度范围分为k 段:

01,,,k l l l ???

给每一段灰度映射一种颜色,映射关系为:

(,)i g x y C = (式2-14)

这里(,)g x y 为输出的伪彩色像;i C 为灰度在i l 范围内映射的色彩。需要说明的是,这

k 段可以是均匀的,也可以是不均匀的,是可以根据图像的灰度范围以及实际需求,设定每

段的长度,以达到细节显示。经过这种映射处理后,原始黑白图像就成了伪彩色图像。如下图所示:

0l 1l 2l 1k l -k l 灰度f

C 彩色

2k l -…

C 1C 2C 3C 4

C 1

k C -k

C

图2-1 密度分割原理平面图

从上图我们可以看出,密度分割法只是简单地把分割的灰度区域与个彩色进行映射,所以得到的伪彩色图像的颜色受到分割层数的限制。但是,密度分割法可以根据实际情况,随时改变映射关系,以适合人眼的识别能力。 (2)灰度级-彩色变换法

彩色变换法的基本思想是对图像中每个像素点的灰度值(,)f x y 采用不同的变换函数,并将结果映射为彩色图像的R 、G 、B 分量值,这样就可以得到一幅RGB 空间上的彩色图像。

下图给出了变换的过程示意图:

红色变换

绿色变换

蓝色变换

(,)

R G x y (,)

G G x y (,)

B G x y (,)

G x y (,)

f x y

图2-2 灰度级-彩色变换法示意图

典型的变换函数如下图所示:

L

L

L

L

f

f f f

L/4

3L/4L L L

L

红绿蓝红

L/4

L/2(a)红色

L/4

L/23L/4

(b)绿色

L/4

L/23L/4(c)蓝色

L/23L/4绿(d)红、绿、蓝三色关系

图2-3 典型变换函数示意图

由图2-3可计算出红、绿、蓝的变换函数为:

0(,)4(,)0;(,)4*(,);(,)4(,)2(,)0;(,);(,)4*(,)2*2(,)34(,)4*(,)2*;(,);(,)034(,)(,);(,)4*(,)4*;(,)0

f x y L R x y G x y f x y B x y L

L f x y L R x y G x y L B x y f x y L L f x y L R x y f x y L G x y L B x y L f x y L R x y L G x y f x y L B x y ≤≤===≤≤===-+≤≤=-==≤≤==-+=时时时时

(式2-15)

(3)频域伪彩色处理

在频域伪彩色图像处理中,伪彩色图像的彩色取决于黑白图像的空间频率,也就是说频域伪彩色图像处理是将原始灰度图像中感兴趣的空间频率成分以某种特定的彩色表示。 首先对原始图像进行傅里叶变换,再设计三种不同的滤波器,对原始图像进行滤波,再

对三个滤波器的输出进行傅里叶反变换,最后输出频域处理后的伪彩色图像。本次设计的三个滤波器分别为:

2

2

2

112(

)100

f x y =

+ (式2-16)

2

2

2

122002(

)

f x y

=

+ (式2-17)

2

2

2

222

1

31100(1(10)(10))

(10)(10)150f u v u v =-

+-+--+--

4内容

1.彩色图像的数据结构

在彩色图像中,每个像素点用三个字节分别表示R,G ,B 分量。当M*N 大小的彩色图像导入到Matlab 时,将存储在三维的数组(M,N,3)中。

其中(M,N,1)表示(M ,N)位置的R 变量 其中(M,N,2)表示(M ,N)位置的G 变量 其中(M,N,3)表示(M ,N)位置的B 变量 2.打开彩色图像 clear;

P=imread('Miss.bmp'); P_double=double(P); [m n k]=size(P); Q=zeros(m,n,3);

Q_double=double(Q); m n

k

3.分别观察R,G ,B 分量图,比较分量图与原彩色图。

4.分别对R,G,B分量进行增强处理(平滑),然后再把处理后的三个分量在合成彩色图像,观测并比较变换结果。

5.把彩色图像的R、G、B分量图转换成H、S、I分量图,对H、S、I分量图分别进行操作,然后转换回R、G、B分量图,记录并对比图像变换。

6伪彩色图像处理

(1)亮度分割

把灰度图像中不同的灰度映射成不同的颜色。

(2)频率滤波

先对图像进行频谱变换,然后分别滤除高、中、低频成分,再分别进行逆变换,

分别把逆变换后的分量作为彩色图像的R、G、B分量。

5实验(设计)步骤

1.查找资料

2.理解算法原理

3.编写程序

4.仿真查错

6设计结果与分析

观察R,G,B分量图

总结分析:原图像经分解后,总体上R层呈红色,G层呈绿色,B层呈蓝色,细节部分由色调的浓度体现。

R,G,B分量进行平滑处理后合并

总结分析:可以看到图像经R,G,B分量分别平滑处理后合并变模糊

R,G,B分量图转换为H,S,I分量图

总结分析:转换后可以很直观的观察图像的色调(H)、饱和度(S、亮度(I)三者的细节情况。

伪彩色亮度分割

总结分析:可以看到色彩分布较丰富,色彩的过渡也比较柔和,大部分的人物背光面细节及人物的细节可以很好地显现。

伪彩色频域滤波

分析总结:频域伪彩色增强显示了很多细节,比如头发、衣服及背景的轮廓,都能很好的显示其变化的细节,但是脸部的细节却显示的不是很好,主要是由于脸部的颜色变化非常小,所以无法显示。该法根据不同的需求可以设计不同的滤波器,所以运用其他的滤波器又可以得到不同的效果,这使得滤波器的设计尤为重要。

7参考文献

《数字图像处理(第三版)》电子工业出版社阮秋琦阮宇智等译

8实验代码

R,G,B分量图

clear;%清除记录

RGB=imread('Miss.bmp');%读取图像

RGB(:,:,1)=uint8(double(RGB(:,:,1))*1.2);%改变原始图像红色分量

RGB(:,:,2)=uint8(double(RGB(:,:,2))*1.5);%改变原始图像绿色分量

RGB(:,:,3)=uint8(double(RGB(:,:,3))*1.3);%改变原始图像蓝色分量

subplot(2,2,1),imshow(RGB);title('原始图像') %显示原始图像,标题为原始图像

subplot(2,2,2),imshow(RGB(:,:,1));title('原始图像红色分量') %显示改变后原始图像红色分量,子标题为原始图像红色分量'

subplot(2,2,3),imshow(RGB(:,:,2));title('原始图像绿色分量') %显示改变后原始图像绿色分量,子标题为原始图像绿色分量'

subplot(2,2,4),imshow(RGB(:,:,3));title('原始图像蓝色分量') %显示改变后原始图像蓝色分量,子标题为原始图像蓝色分量'

I=imread('Miss.bmp');%读入彩色图像

J1(:,:,1)=I(:,:,1);J1(:,:,2)=0;J1(:,:,3)=0;%提取I中的红色

J2(:,:,2)=I(:,:,2);J2(:,:,1)=0;J2(:,:,3)=0;%提取I中的绿色

J3(:,:,3)=I(:,:,3);J3(:,:,1:2)=0;%提取I中的蓝色

subplot(221);imshow(I);title('原图像');%显示原图

subplot(222);imshow(J1);title('红色');%显示提取的红色部分

subplot(223);imshow(J2);title('绿色');%显示提取的绿色部分

subplot(224);imshow(J3);title('蓝色');%显示提取的蓝色部分

R,G,B分量进行平滑处理后合并

clear all;

A=imread('Miss.bmp');%?áè?í???

figure(1);imshow(A);title('?-í???');

R=A(:,:,1);%ìáè?í???μ?R2?

G=A(:,:,2);%ìáè?í???μ?G2?

B=A(:,:,3);%ìáè?í???μ?B2?

w=fspecial('average');

fR_filtered=imfilter(R,w);%??R2?×?????′|àí

fG_filtered=imfilter(G,w);%??G2?×?????′|àí

fB_filtered=imfilter(B,w);%??B2?×?????′|àí

rgb_filter=cat(3,fR_filtered,fG_filtered,fB_filtered);%o?2¢R?¢G?¢B·?á?

figure(2);imshow(rgb_filter);title('????oóμ?í???');

R,G,B分量图转换为H,S,I分量图

clear all;

A=imread('Miss.bmp');%读取图像

R=A(:,:,1);G=A(:,:,2);B=A(:,:,3);

r=double(R);g=double(G);b=double(B);

min=min(min(r,g),b);

I=(r+g+b)/3; %计算I分量

S=1-min./I; %计算S分量

m=sqrt((r-g).^2+(r-b).*(g-b));

w=acos(0.5*((r-g)+(r-b))./(m+eps));

if G>B

H=w;

else

H=2*pi-w;

end;

H=H/(2*pi);%计算H分量

subplot(231);imshow(R);xlabel('R分量');%分别显示彩色图象的R,G,B分量subplot(232);imshow(G);xlabel('G分量');

subplot(233);imshow(B);xlabel('B分量');

subplot(234);imshow(H);xlabel('H分量');%分别显示1幅彩色图象的H,S,I 分量

subplot(235);imshow(S);xlabel('S分量');

subplot(236);imshow(I,[]);xlabel('I分量');

伪彩色亮度分割

I=imread('Miss.bmp');

I=double(I);

[M,N]=size(I);

L=256;

for i=1:M

for j=1:N

if I(i,j)

R(i,j)=0;

G(i,j)=4*I(i,j);

B(i,j)=L;

else if I(i,j)<=L/2

R(i,j)=0;

G(i,j)=L;

B(i,j)=-4*I(i,j)+2*L;

else if I(i,j)<=3*L/4

R(i,j)=4*I(i,j)-2*L; G(i,j)=L;

B(i,j)=0;

else

R(i,j)=L;

G(i,j)=-4*I(i,j)+4*L; B(i,j)=0;

end

end

end

end

end

for i=1:M

for j=1:N

G2C(i,j,1)=R(i,j);

G2C(i,j,2)=G(i,j);

G2C(i,j,3)=B(i,j);

end

end

G2C=G2C/256;

figure;

imshow(G2C);

伪彩色频域滤波

I=imread('Miss.bmp’);

I=rgb2gray(I);

[M,N]=size(I)

F=fft2(I);

fftshift(F);

for u=1:M

for v=1:N

D(u,v)=sqrt(u^2+v^2);

redh(u,v)=1/(sqrt(2)*(D(u,v)/100)^2);

greenh(u,v)=1/(sqrt(2)*(200/D(u,v))^2);

blued(u,v)=sqrt((u-10)^2+(v-10)^2);

blueh(u,v)=1-1/(1+blued(u,v)*100/((blued(u,v))^2-150^2)^2);

end

end

red=redh.*F;

redcolor=ifft2(red);

green=greenh.*F;

greencolor=ifft2(green);

blue=blueh.*F;

bluecolor=ifft2(blue);

redcolor=real(redcolor)/256;

greencolor=real(greencolor)/256;

bluecolor=real(bluecolor)/256;

for i=1:M

for j=1:N

out(i,j,1)=redcolor(i,j);

out(i,j,2)=greencolor(i,j);

out(i,j,3)=bluecolor(i,j);

end

end

out=abs(out);

figure;imshow(out);

数字图像处理实验报告

数字图像处理实验报告 实验一数字图像基本操作及灰度调整 一、实验目的 1)掌握读、写图像的基本方法。 2)掌握MATLAB语言中图像数据与信息的读取方法。 3)理解图像灰度变换处理在图像增强的作用。 4)掌握绘制灰度直方图的方法,理解灰度直方图的灰度变换及均衡化的方 法。 二、实验内容与要求 1.熟悉MATLAB语言中对图像数据读取,显示等基本函数 特别需要熟悉下列命令:熟悉imread()函数、imwrite()函数、size()函数、Subplot()函数、Figure()函数。 1)将MATLAB目录下work文件夹中的forest.tif图像文件读出.用到imread, imfinfo 等文件,观察一下图像数据,了解一下数字图像在MATLAB中的处理就是处理一个矩阵。将这个图像显示出来(用imshow)。尝试修改map颜色矩阵的值,再将图像显示出来,观察图像颜色的变化。 2)将MATLAB目录下work文件夹中的b747.jpg图像文件读出,用rgb2gray() 将其 转化为灰度图像,记为变量B。 2.图像灰度变换处理在图像增强的作用 读入不同情况的图像,请自己编程和调用Matlab函数用常用灰度变换函数对输入图像进行灰度变换,比较相应的处理效果。 3.绘制图像灰度直方图的方法,对图像进行均衡化处理 请自己编程和调用Matlab函数完成如下实验。 1)显示B的图像及灰度直方图,可以发现其灰度值集中在一段区域,用 imadjust函 数将它的灰度值调整到[0,1]之间,并观察调整后的图像与原图像的差别,调整后的灰

度直方图与原灰度直方图的区别。 2) 对B 进行直方图均衡化处理,试比较与源图的异同。 3) 对B 进行如图所示的分段线形变换处理,试比较与直方图均衡化处理的异同。 图1.1 分段线性变换函数 三、实验原理与算法分析 1. 灰度变换 灰度变换是图像增强的一种重要手段,它常用于改变图象的灰度范围及分布,是图象数字化及图象显示的重要工具。 1) 图像反转 灰度级范围为[0, L-1]的图像反转可由下式获得 r L s --=1 2) 对数运算:有时原图的动态范围太大,超出某些显示设备的允许动态范围, 如直接使用原图,则一部分细节可能丢失。解决的方法是对原图进行灰度压缩,如对数变换: s = c log(1 + r ),c 为常数,r ≥ 0 3) 幂次变换: 0,0,≥≥=γγc cr s 4) 对比拉伸:在实际应用中,为了突出图像中感兴趣的研究对象,常常要求 局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理,即分段线性拉伸: 其对应的数学表达式为:

数据分析实验报告

数据分析实验报告 文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-

第一次试验报告 习题1.3 1建立数据集,定义变量并输入数据并保存。 2数据的描述,包括求均值、方差、中位数等统计量。 分析—描述统计—频率,选择如下: 输出: 统计量 全国居民 农村居民 城镇居民 N 有效 22 22 22 缺失 均值 1116.82 747.86 2336.41 中值 727.50 530.50 1499.50 方差 1031026.918 399673.838 4536136.444 百分位数 25 304.25 239.75 596.25 50 727.50 530.50 1499.50 75 1893.50 1197.00 4136.75 3画直方图,茎叶图,QQ 图。(全国居民) 分析—描述统计—探索,选择如下: 输出: 全国居民 Stem-and-Leaf Plot Frequency Stem & Leaf 5.00 0 . 56788 数据分析实验报告 【最新资料,WORD 文档,可编辑修改】

2.00 1 . 03 1.00 1 . 7 1.00 2 . 3 3.00 2 . 689 1.00 3 . 1 Stem width: 1000 Each leaf: 1 case(s) 分析—描述统计—QQ图,选择如下: 输出: 习题1.1 4数据正态性的检验:K—S检验,W检验数据: 取显着性水平为0.05 分析—描述统计—探索,选择如下:(1)K—S检验

结果:p=0.735 大于0.05 接受原假设,即数据来自正太总体。 (2 )W 检验 结果:在Shapiro-Wilk 检验结果972.00 w ,p=0.174大于0.05 接受原假设,即数据来自正太总体。 习题1.5 5 多维正态数据的统计量 数据:

数字逻辑个性课实验报告

学生学号0121410870432实验成绩 学生实验报告书 实验课程名称逻辑与计算机设计基础 开课学院计算机科学与技术学院 指导教师姓名肖敏 学生姓名付天纯 学生专业班级物联网1403 2015--2016学年第一学期

译码器的设计与实现 【实验要求】: (1)理解译码器的工作原理,设计并实现n-2n译码器,要求能够正确地根据输入信号译码成输出信号。(2)要求实现2-4译码器、3-8译码器、4-16译码器、8-28译码器、16-216译码器、32-232译码器。 【实验目的】 (1)掌握译码器的工作原理; (2)掌握n-2n译码器的实现。 【实验环境】 ◆Basys3 FPGA开发板,69套。 ◆Vivado2014 集成开发环境。 ◆Verilog编程语言。 【实验步骤】 一·功能描述 输入由五个拨码开关控制,利用led灯输出32种显示 二·真值表

三·电路图和表达式

四·源代码 module decoder_5( input [4:0] a, output [15:0] d0 ); reg [15:0] d0; reg [15:0] d1; always @(a) begin case(a) 5'b00000 :{d1,d0}=32'b1000_0000_0000_0000_0000_0000_0000_0000; 5'b00001 :{d1,d0}=32'b0100_0000_0000_0000_0000_0000_0000_0000; 5'b00010 :{d1,d0}=32'b0010_0000_0000_0000_0000_0000_0000_0000; 5'b00011 :{d1,d0}=32'b0001_0000_0000_0000_0000_0000_0000_0000; 5'b00100 :{d1,d0}=32'b0000_1000_0000_0000_0000_0000_0000_0000; 5'b00101 :{d1,d0}=32'b0000_0100_0000_0000_0000_0000_0000_0000; 5'b00110 :{d1,d0}=32'b0000_0010_0000_0000_0000_0000_0000_0000; 5'b00111 :{d1,d0}=32'b0000_0001_0000_0000_0000_0000_0000_0000; 5'b01000 :{d1,d0}=32'b0000_0000_1000_0000_0000_0000_0000_0000; 5'b01001 :{d1,d0}=32'b0000_0000_0100_0000_0000_0000_0000_0000; 5'b01010 :{d1,d0}=32'b0000_0000_0010_0000_0000_0000_0000_0000; 5'b01011 :{d1,d0}=32'b0000_0000_0001_0000_0000_0000_0000_0000; 5'b01100 :{d1,d0}=32'b0000_0000_0000_1000_0000_0000_0000_0000; 5'b01101 :{d1,d0}=32'b0000_0000_0000_0100_0000_0000_0000_0000; 5'b01110 :{d1,d0}=32'b0000_0000_0000_0010_0000_0000_0000_0000; 5'b01111 :{d1,d0}=32'b0000_0000_0000_0001_0000_0000_0000_0000; 5'b10000 :{d1,d0}=32'b0000_0000_0000_0000_1000_0000_0000_0000; 5'b10001 :{d1,d0}=32'b0000_0000_0000_0000_0100_0000_0000_0000; 5'b10010 :{d1,d0}=32'b0000_0000_0000_0000_0010_0000_0000_0000; 5'b10011 :{d1,d0}=32'b0000_0000_0000_0000_0001_0000_0000_0000; 5'b10100 :{d1,d0}=32'b0000_0000_0000_0000_0000_1000_0000_0000; 5'b10101 :{d1,d0}=32'b0000_0000_0000_0000_0000_0100_0000_0000; 5'b10110 :{d1,d0}=32'b0000_0000_0000_0000_0000_0010_0000_0000; 5'b10111 :{d1,d0}=32'b0000_0000_0000_0000_0000_0001_0000_0000; 5'b11000 :{d1,d0}=32'b0000_0000_0000_0000_0000_0000_1000_0000; 5'b11001 :{d1,d0}=32'b0000_0000_0000_0000_0000_0000_0100_0000; 5'b11010 :{d1,d0}=32'b0000_0000_0000_0000_0000_0000_0010_0000;

东南大学数字图像处理实验报告

数字图像处理 实验报告 学号:04211734 姓名:付永钦 日期:2014/6/7 1.图像直方图统计 ①原理:灰度直方图是将数字图像的所有像素,按照灰度值的大小,统计其所出现的频度。 通常,灰度直方图的横坐标表示灰度值,纵坐标为半个像素个数,也可以采用某一灰度值的像素数占全图像素数的百分比作为纵坐标。 ②算法: clear all PS=imread('girl-grey1.jpg'); %读入JPG彩色图像文件figure(1);subplot(1,2,1);imshow(PS);title('原图像灰度图'); [m,n]=size(PS); %测量图像尺寸参数 GP=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255 GP(k+1)=length(find(PS==k))/(m*n); %计算每级灰度出现的概率end figure(1);subplot(1,2,2);bar(0:255,GP,'g') %绘制直方图 axis([0 255 min(GP) max(GP)]); title('原图像直方图') xlabel('灰度值') ylabel('出现概率') ③处理结果:

原图像灰度图 100 200 0.005 0.010.0150.020.025 0.030.035 0.04原图像直方图 灰度值 出现概率 ④结果分析:由图可以看出,原图像的灰度直方图比较集中。 2. 图像的线性变换 ①原理:直方图均衡方法的基本原理是:对在图像中像素个数多的灰度值(即对画面起主 要作用的灰度值)进行展宽,而对像素个数少的灰度值(即对画面不起主要作用的灰度值)进行归并。从而达到清晰图像的目的。 ②算法: clear all %一,图像的预处理,读入彩色图像将其灰度化 PS=imread('girl-grey1.jpg'); figure(1);subplot(2,2,1);imshow(PS);title('原图像灰度图'); %二,绘制直方图 [m,n]=size(PS); %测量图像尺寸参数 GP=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255

数据库上机实验报告

数据库实验 (第三次) 题目1 实验内容: 1. 检索上海产的零件的工程名称; 2. 检索供应工程J1零件P1的供应商号SNO; 3. 检索供应工程J1零件为红色的供应商号SNO; 4. 检索没有使用天津生产的红色零件的工程号JNO; 5. 检索至少用了供应商S1所供应的全部零件的工程号JNO; 6. 检索购买了零件P1的工程项目号JNO及数量QTY,并要求对查询的结果按数 量QTY降序排列。

1 select jname from j where jno in (select jno from spj where sno in (select sno from s where city ='上海' ) ); 2 select sno from spj where jno ='j1'and pno ='p1' 3

selectdistinct sno from spj where pno in (select pno from p where color='红'and pno in (select pno from spj where jno ='j1' ) ); 4 selectdistinct jno from spj where pno notin (select pno from p where color ='红'and pno in (select pno from spj where sno in (select sno from s where city ='天津' ) ) )

5 select jno from spj where sno ='s1' 6 select jno,qty from spj where pno ='p1' orderby qty desc 四﹑思考题 1.如何提高数据查询和连接速度。 建立视图 2. 试比较连接查询和嵌套查询 有些嵌套查询是可以用连接来代替的,而且使用连接的方式,性能要比 嵌套查询高出很多 当查询涉及多个关系时,用嵌套查询逐步求解结构层次清楚,易于构造,具有结构化程序设计的优点。但是相比于连接运算,目前商用关系数据库管理系统对嵌套查询的优化做的还不够完善,所以在实际应用中,能够用连接运算表达的查询尽可能采用连接运算。

华中科技大学计算机学院数字逻辑实验报告2(共四次)

数字逻辑实验报告(2) 姓名: 学号: 班级: 指导教师: 计算机科学与技术学院 20 年月日

数字逻辑实验报告(2)无符号数的乘法器设计

一、无符号数的乘法器设计 1、实验名称 无符号数的乘法器的设计。 2、实验目的 要求使用合适的逻辑电路的设计方法,通过工具软件logisim进行无符号数的乘法器的设计和验证,记录实验结果,验证设计是否达到要求。 通过无符号数的乘法器的设计、仿真、验证3个训练过程,使同学们掌握数字逻辑电路的设计、仿真、调试的方法。 3、实验所用设备 Logisim2.7.1软件一套。 4、实验内容 (1)四位乘法器设计 四位乘法器Mul4 4实现两个无符号的4位二进制数的乘法运算,其结构框图如图3-1所示。设被乘数为b(3:0),乘数为a(3:0),乘积需要8位二进制数表示,乘积为p(7:0)。 图3-1 四位乘法器结构框图 四位乘法器运算可以用4个相同的模块串接而成,其内部结构如图3-2所示。每个模块均包含一个加法器、一个2选1多路选择器和一个移位器shl。 图3-2中数据通路上的数据位宽都为8,确保两个4位二进制数的乘积不会发生溢出。shl是左移一位的操作,在这里可以不用逻辑器件来实现,而仅通过数据连线的改变(两个分线器错位相连接)就可实现。

a(0)a(1)a(2)a(3) 图3-2 四位乘法器内部结构 (2)32 4乘法器设计 32 4乘法器Mul32 4实现一个无符号的32位二进制数和一个无符号的4位二进制数的乘法运算,其结构框图如图3-3所示。设被乘数为b(31:0),乘数为a(3:0),乘积也用32位二进制数表示,乘积为p(31:0)。这里,要求乘积p能用32位二进制数表示,且不会发生溢出。 图3-3 32 4乘法器结构框图 在四位乘法器Mul4 4上进行改进,将数据通路上的数据位宽都改为32位,即可实现Mul32 4。 (3)32 32乘法器设计 32 32乘法器Mul32 32实现两个无符号的32位二进制数的乘法运算,其结构框图如图3-4所示。设被乘数为b(31:0),乘数为a(31:0),乘积也用32位二进制数表示,乘积为p(31:0)。这里,要求乘积p能用32位二进制数表示,且不会发生溢出。 图3-4 32 32乘法器结构框图 用32 4乘法器Mul32 4作为基本部件,实现32 32乘法器Mul32 32。 设被乘数为b(31:0)=(b31b30b29b28···b15b14b13b12···b4b3b2b1b0)2 乘数为a(31:0)=(a31a30a29a28···a15a14a13a12···a3a2a1a0)2 =(a31a30a29a28)2 228+···+ ( a15a14a13a12)2 212+···+ (a3a2a1a0)2 20

图像处理实验报告

重庆交通大学 学生实验报告 实验课程名称数字图像处理 开课实验室数学实验室 学院理学院年级信息与计算科学专业 2 班学生姓名李伟凯学号631122020203 开课时间2014 至2015 学年第 1 学期

实验(一)图像处理基础 ?实验目的 学习Matlab软件的图像处理工具箱,掌握常用的一些图像处理命令;通过编程实现几种简单的图像增强算法,加强对图像增强的理解。 ?实验内容 题目A.打开Matlab软件帮助,学习了解Matlab中图像处理工具箱的基本功能;题目B.掌握以下常见图像处理函数的使用: imread( ) imageinfo( ) imwrite( ) imopen( ) imclose( ) imshow( ) impixel( ) imresize( ) imadjust( ) imnoise( ) imrotate( ) im2bw( ) rgb2gray( ) 题目C.编程实现对图像的线性灰度拉伸y = ax + b,函数形式为:imstrech(I, a, b); 题目D.编程实现对图像进行直方图均衡化处理,并将实验结果与Matab中imhist 命令结果比较。 三、实验结果 1).基本图像处理函数的使用: I=imread('rice.png'); se = strel('disk',1); I_opened = imopen(I,se); %对边缘进行平滑 subplot(1,2,1), imshow(I), title('原始图像') subplot(1,2,2), imshow(I_opened), title('平滑图像') 原始图像平滑图像

C上机实验报告实验四

实验四数组、指针与字符串 1.实验目的 1.学习使用数组 2.学习字符串数据的组织和处理 3.学习标准C++库的使用 4.掌握指针的使用方法 5.练习通过Debug观察指针的内容及其所指的对象的内容 6.联系通过动态内存分配实现动态数组,并体会指针在其中的作用 7.分别使用字符数组和标准C++库练习处理字符串的方法 2.实验要求 1.编写并测试3*3矩阵转置函数,使用数组保存3*3矩阵。 2.使用动态内存分配生成动态数组来重新完成上题,使用指针实现函数的功能。 3.编程实现两字符串的连接。要求使用字符数组保存字符串,不要使用系统函数。 4.使用string类定义字符串对象,重新实现上一小题。 5.定义一个Employee类,其中包括姓名、街道地址、城市和邮编等属性,以及change_name()和display()等函数。Display()显示姓名、街道地址、城市和邮编等属性,change_name()改变对象的姓名属性。实现并测试这个类。 6.定义包含5个元素的对象数组,每个元素都是Employee类型的对象。 7. (选做)修改实验4中的选做实验中的people(人员)类。具有的属性如下:姓名char name[11]、编号char number[7]、性别char sex[3]、生日birthday、身份证号char id[16]。其中“出生日期”定义为一个“日期”类内嵌对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、聚集。在测试程序中定义people类的对象数组,录入数据并显示。 3.实验内容及实验步骤 1.编写矩阵转置函数,输入参数为3*3整形数组,使用循环语句实现矩阵元素的行列对调,注意在循环语句中究竟需要对哪些元素进行操作,编写main()函数实现输入、输出。程序名:lab6_1.cpp。 2.改写矩阵转置函数,参数为整型指针,使用指针对数组元素进行操作,在main()函数中使用new操作符分配内存生成动态数组。通过Debug观察指针的内容及其所指的对象中的内容。程序名:lab6_2.cpp。 3.编程实现两字符串的连接。定义字符数组保存字符串,在程序中提示用户输入两个字符串,实现两个字符串的连接,最后用cout语句显示输出。程序名:lab6_3.cpp。用cin实现输入,注意,字符串的结束标志是ASCII码0,使用循环语句进行字符串间的字符拷贝。 4.使用string类定义字符串对象,编程实现两字符串的连接。在string类中已重载了运算符“+=”实现字符串的连接,可以使用这个功能。程序名:lab6_4.cpp。 5.在employee.h文件中定义Employee类。Employee类具有姓名、街道地址、城市和邮编等私有数据成员,在成员函数中,构造函数用来初始化所有数据成员;display()中使用cout显示

数字逻辑实验报告

. 武汉理工大学

2017 年月日 实验一:一位全加器 实验目的: 1. 掌握组合逻辑电路的设计方法; 2. 熟悉Vivado2014 集成开发环境和Verilog 编程语言; 3. 掌握1 位全加器电路的设计与实现。 试验工具: 1.Basys3 FPGA 开发板 2.Vivado2014 集成开发环境和Verilog 编程语言。 实验原理: Ci+A+B={Co,S} 全加器真表

全加器逻辑表达式 S=A○+B○+Ci Co=A.B+ (A○+B).Ci 全加器电路图 实验步骤: (一)新建工程: 1、打开 Vivado 2014.2 开发工具,可通过桌面快捷方式或开始菜单中 Xilinx Design Tools->Vivado 2014.2 下的 Vivado 2014.2 打开软件; 2、单击上述界面中 Create New Project 图标,弹出新建工程向导。 3、输入工程名称、选择工程存储路径,并勾选Create project subdirectory选项,为工程在指 定存储路径下建立独立的文件夹。设置完成后,点击Next。注意:工程名称和存储路径中不能出现中文和空格,建议工程名称以字母、数字、下划线来组成 4、选择RTL Project一项,并勾选Do not specify sources at this time,为了跳过在新建工 程的过程中添加设计源文件。 5、根据使用的FPGA开发平台,选择对应的FPGA目标器件。(在本手册中,以Xilinx大学计 划开发板Digilent Basys3 为例,FPGA 采用Artix-7 XC7A35T-1CPG236-C 的器件,即Family 和Subfamily 均为Artix-7,封装形式(Package)为CPG236,速度等级(Speed grade)为-1,温度等级(Temp Grade)为C)。点击Next。 6、确认相关信息与设计所用的的FPGA 器件信息是否一致,一致请点击Finish,不一致,请返 回上一步修改。 7、得到如下的空白Vivado 工程界面,完成空白工程新建。

matlab图像处理实验报告

图像处理实验报告 姓名:陈琼暖 班级:07计科一班 学号:20070810104

目录: 实验一:灰度图像处理 (3) 实验二:灰度图像增强 (5) 实验三:二值图像处理 (8) 实验四:图像变换 (13) 大实验:车牌检测 (15)

实验一:灰度图像处理题目:直方图与灰度均衡 基本要求: (1) BMP灰度图像读取、显示、保存; (2)编程实现得出灰度图像的直方图; (3)实现灰度均衡算法. 实验过程: 1、BMP灰度图像读取、显示、保存; ?图像的读写与显示操作:用imread( )读取图像。 ?图像显示于屏幕:imshow( ) 。 ?

2、编程实现得出灰度图像的直方图; 3、实现灰度均衡算法; ?直方图均衡化可用histeq( )函数实现。 ?imhist(I) 显示直方图。直方图中bin的数目有图像的类型决定。如果I是个灰度图像,imhist将 使用默认值256个bins。如果I是一个二值图像,imhist使用两bins。 实验总结: Matlab 语言是一种简洁,可读性较强的高效率编程软件,通过运用图像处理工具箱中的有关函数,就可以对原图像进行简单的处理。 通过比较灰度原图和经均衡化后的图形可见图像变得清晰,均衡化后的直方图形状比原直方图的形状更理想。

实验二:灰度图像增强 题目:图像平滑与锐化 基本要求: (1)使用邻域平均法实现平滑运算; (2)使用中值滤波实现平滑运算; (3)使用拉普拉斯算子实现锐化运算. 实验过程: 1、 使用邻域平均法实现平滑运算; 步骤:对图像添加噪声,对带噪声的图像数据进行平滑处理; ? 对图像添加噪声 J = imnoise(I,type,parameters)

数字图像处理实验报告

数字图像处理试验报告 实验二:数字图像的空间滤波和频域滤波 姓名:XX学号:2XXXXXXX 实验日期:2017 年4 月26 日 1.实验目的 1. 掌握图像滤波的基本定义及目的。 2. 理解空间域滤波的基本原理及方法。 3. 掌握进行图像的空域滤波的方法。 4. 掌握傅立叶变换及逆变换的基本原理方法。 5. 理解频域滤波的基本原理及方法。 6. 掌握进行图像的频域滤波的方法。 2.实验内容与要求 1. 平滑空间滤波: 1) 读出一幅图像,给这幅图像分别加入椒盐噪声和高斯噪声后并与前一张图显示在同一 图像窗口中。 2) 对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果,要 求在同一窗口中显示。 3) 使用函数 imfilter 时,分别采用不同的填充方法(或边界选项,如零填 充、’replicate’、’symmetric’、’circular’)进行低通滤波,显示处理后的图 像。 4) 运用 for 循环,将加有椒盐噪声的图像进行 10 次,20 次均值滤波,查看其特点, 显 示均值处理后的图像(提示:利用fspecial 函数的’average’类型生成均值滤波器)。 5) 对加入椒盐噪声的图像分别采用均值滤波法,和中值滤波法对有噪声的图像做处理,要 求在同一窗口中显示结果。 6) 自己设计平滑空间滤波器,并将其对噪声图像进行处理,显示处理后的图像。 2. 锐化空间滤波 1) 读出一幅图像,采用3×3 的拉普拉斯算子 w = [ 1, 1, 1; 1 – 8 1; 1, 1, 1] 对其进行滤波。 2) 编写函数w = genlaplacian(n),自动产生任一奇数尺寸n 的拉普拉斯算子,如5 ×5的拉普拉斯算子 w = [ 1 1 1 1 1 1 1 1 1 1 1 1 -24 1 1 1 1 1 1 1 1 1 1 1 1] 3) 分别采用5×5,9×9,15×15和25×25大小的拉普拉斯算子对

数字逻辑实验报告。编码器

数字逻辑实验实验报告 脚分配、1)分析输入、输出,列出方程。根据方程和IP 核库判断需要使用的门电路以及个数。 2)创建新的工程,加载需要使用的IP 核。 3)创建BD 设计文件,添加你所需要的IP 核,进行端口设置和连线操作。 4)完成原理图设计后,生成顶层文件(Generate Output Products)和HDL 代码文件(Create HDL Wrapper)。 5)配置管脚约束(I/O PLANNING),为输入指定相应的拨码开关,为输出指定相应的led 灯显示。

6)综合、实现、生成bitstream。 7)仿真验证,依据真值表,在实验板验证试验结果。

实验报告说明 数字逻辑课程组 实验名称列入实验指导书相应的实验题目。 实验目的目的要明确,要抓住重点,可以从理论和实践两个方面考虑。可参考实验指导书的内容。在理论上,验证所学章节相关的真值表、逻辑表达式或逻辑图的实际应用,以使实验者获得深刻和系统的理解,在实践上,掌握使用软件平台及设计的技能技巧。一般需说明是验证型实验还是设计型实验,是创新型实验还是综合型实验。 实验环境实验用的软硬件环境(配置)。 实验内容(含电路原理图/Verilog程序、管脚分配、仿真结果等;扩展内容也列入本栏)这是实验报告极其重要的内容。这部分要写明经过哪几个步骤。可画出流程图,再配以相应的文字说明,这样既可以节省许多文字说明,又能使实验报告简明扼要,清楚明白。 实验结果分析数字逻辑的设计与实验结果的显示是否吻合,如出现异常,如何修正并得到正确的结果。 实验方案的缺陷及改进意见在实验过程中发现的问题,个人对问题的改进意见。 心得体会、问题讨论对本次实验的体会、思考和建议。

数字图像处理实验报告

数字图像处理实验 报告 学生姓名:学号: 专业年级: 09级电子信息工程二班

实验一常用MATLAB图像处理命令 一、实验内容 1、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。 实验结果如右图: 代码如下: Subplot (1,3,1) i=imread('E:\数字图像处理\2.jpg') imshow(i) title('RGB') Subplot (1,3,2) j=rgb2gray(i) imshow(j) title('灰度') Subplot (1,3,3) k=im2bw(j,0.5) imshow(k) title('二值') 2、对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。 实验结果如右图: 代码如下: Subplot (3,2,1) i=imread('E:\数字图像处理 \16.jpg') x=imresize(i,[250,320]) imshow(x) title('原图x') Subplot (3,2,2) j=imread(''E:\数字图像处理 \17.jpg') y=imresize(j,[250,320]) imshow(y) title('原图y') Subplot (3,2,3) z=imadd(x,y) imshow(z)

title('相加结果');Subplot (3,2,4);z=imsubtract(x,y);imshow(z);title('相减结果') Subplot (3,2,5);z=immultiply(x,y);imshow(z);title('相乘结果') Subplot (3,2,6);z=imdivide(x,y);imshow(z);title('相除结果') 3、对一幅图像进行灰度变化,实现图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题。 实验结果如右图: 代码如下: Subplot (2,2,1) i=imread('E:\数字图像处理 \23.jpg') imshow(i) title('原图') Subplot (2,2,2) J = imadjust(i,[],[],3); imshow(J) title('变暗') Subplot (2,2,3) J = imadjust(i,[],[],0.4) imshow(J) title('变亮') Subplot (2,2,4) J=255-i Imshow(J) title('变负') 二、实验总结 分析图像的代数运算结果,分别陈述图像的加、减、乘、除运算可能的应用领域。 解答:图像减运算与图像加运算的原理和用法类似,同样要求两幅图像X、Y的大小类型相同,但是图像减运算imsubtract()有可能导致结果中出现负数,此时系统将负数统一置为零,即为黑色。 乘运算实际上是对两幅原始图像X、Y对应的像素点进行点乘(X.*Y),将结果输出到矩阵Z中,若乘以一个常数,将改变图像的亮度:若常数值大于1,则乘运算后的图像将会变亮;叵常数值小于是,则图像将会会暗。可用来改变图像的灰度级,实现灰度级变换,也可以用来遮住图像的某些部分,其典型应用是用于获得掩膜图像。 除运算操作与乘运算操作互为逆运算,就是对两幅图像的对应像素点进行点(X./Y), imdivide()同样可以通过除以一个常数来改变原始图像的亮度,可用来改变图像的灰度级,其典型运用是比值图像处理。 加法运算的一个重要应用是对同一场景的多幅图像求平均值 减法运算常用于检测变化及运动的物体,图像相减运算又称为图像差分运算,差分运算还可以用于消除图像背景,用于混合图像的分离。

数据分析实验报告

数据分析实验报告 【最新资料,WORD文档,可编辑修改】 第一次试验报告 习题1.3 1建立数据集,定义变量并输入数据并保存。 2数据的描述,包括求均值、方差、中位数等统计量。 分析—描述统计—频率,选择如下: 输出:

方差1031026.918399673.8384536136.444百分位数25304.25239.75596.25 50727.50530.501499.50 751893.501197.004136.75 3画直方图,茎叶图,QQ图。(全国居民) 分析—描述统计—探索,选择如下: 输出: 全国居民Stem-and-Leaf Plot Frequency Stem & Leaf 9.00 0 . 122223344 5.00 0 . 56788 2.00 1 . 03 1.00 1 . 7 1.00 2 . 3 3.00 2 . 689

1.00 3 . 1 Stem width: 1000 Each leaf: 1 case(s) 分析—描述统计—QQ图,选择如下: 输出: 习题1.1 4数据正态性的检验:K—S检验,W检验数据: 取显着性水平为0.05 分析—描述统计—探索,选择如下:(1)K—S检验 单样本Kolmogorov-Smirnov 检验 身高N60正态参数a,,b均值139.00

标准差7.064 最极端差别绝对值.089 正.045 负-.089 Kolmogorov-Smirnov Z.686 渐近显着性(双侧).735 a. 检验分布为正态分布。 b. 根据数据计算得到。 结果:p=0.735 大于0.05 接受原假设,即数据来自正太总体。(2)W检验

华中科技大学数字逻辑实验报告

华中科技大学数字逻辑实验报告 姓名: 专业班级: 学号: 指导老师: 完成时间:

实验一:组合逻辑电路的设计 一、实验目的: 1.掌握组合逻辑电路的功能测试。 2.验证半加器和全加器的逻辑功能 3.学会二进制的运算规律。 二、实验所用组件: 二输入四与门74LS08,二输入四与非门74LS00,二输入四异或门74LS86,六门反向器74LS04芯片,三输入三与非门74L10,电线若干。 三、实验内容: 内容A:全加全减器。 实验要求: 一位全加/全减法器,如图所示: 电路做加法还是做减法运算是由M决定的,当M=0做加法,M=1做减法。当作为全加法起时输入A.B和Cin分别为加数,被加数和低位来的进位,S和数,Co位向上位的进位。当作为全减法器时输入信号A,B和Cin分别为被减数,减数和低位来的借位,S为差,Co为向上的借位。 实验步骤: 1.根据功能写出输入/输出观察表:

2. 3.做出卡诺图,确定输出和激励的函数表达式:

4.根据逻辑表达式作出电路的平面图: 5.检查导线以及芯片是否完好无损坏,根据平面图和逻辑表达式连接电路。 实验结果: 电路连接好后,经检测成功实现了一位全加/全减法器的功能。 内容B:舍入与检测电路的设计: 试验要求: 用所给定的集合电路组件设计一个多输出逻辑电路,该电路的输入为8421码,F1为“四

舍五入”输出信号,F2为奇偶检测输出信号。当电路检测到输入的代码大宇或等于(5)10时,电路的输出F1=1;其他情况F1=0。当输入代码中含1的个数为奇数时,电路的输出F2=1,其他情况F2=0。该电路的框图如下所示: (1)按照所设计的电路图接线,注意将电路的输入端接试验台的开关,通过拨动开关输入8421代码,电路输入按至试验台显示灯。 (2)每输入一个代码后观察显示灯,并将结果记录在输入/输出观察表中。 实验步骤 1.按照所给定的实验要求填写出F1,F2理论上的真值表。 2.根据真值表给出F1和F2的卡诺图。

数字图像处理实验报告实验三

中南大学 数字图像处理实验报告实验三数学形态学及其应用

实验三 数学形态学及其应用 一.实验目的 1.了解二值形态学的基本运算 2.掌握基本形态学运算的实现 3.了解形态操作的应用 二.实验基本原理 腐蚀和膨胀是数学形态学最基本的变换,数学形态学的应用几乎覆盖了图像处理的所有领域,给出利用数学形态学对二值图像处理的一些运算。 膨胀就是把连接成分的边界扩大一层的处理。而收缩则是把连接成分的边界点去掉从而缩小一层的处理。 二值形态学 I(x,y), T(i,j)为 0/1图像Θ 腐蚀:[]),(&),(),)((),(0,j i T j y i x I AND y x T I y x E m j i ++=Θ== 膨胀:[]),(&),(),)((),(0 ,j i T j y i x I OR y x T I y x D m j i ++=⊕== 灰度形态学T(i,j)可取10以外的值 腐蚀: []),(),(min ),)((),(1 ,0j i T j y i x I y x T I y x E m j i -++=Θ=-≤≤ 膨胀: []),(),(max ),)((),(1 ,0j i T j y i x I y x T I y x D m j i +++=⊕=-≤≤ 1.腐蚀Erosion: {}x B x B X x ?=Θ: 1B 删两边 2B 删右上 图5-1 剥去一层(皮) 2.膨胀Dilation: {}X B x B X x ↑⊕:= 1B 补两边 2B 补左下 图5-2 添上一层(漆) 3.开运算open :

B B X ⊕Θ=)(X B 4.闭close :∨ Θ⊕=B B X X B )( 5.HMT(Hit-Miss Transform:击中——击不中变换) 条件严格的模板匹配 ),(21T T T =模板由两部分组成。1T :物体,2T :背景。 {} C x x i X T X T X T X ??=?21, 图5-3 击不中变换示意图 性质: (1)φ=2T 时,1T X T X Θ=? (2))()()(21T X T X T X C Θ?Θ=? C T X T X )()(21Θ?Θ= )/()(21T X T X ΘΘ= 6.细化/粗化 (1)细化(Thin ) C T X X T X XoT )(/??=?= 去掉满足匹配条件的点。 图5-4 细化示意图 系统细化{}n B oB XoB T Xo ))(((21=, i B 是1-i B 旋转的结果(90?,180?,270?)共8种情况 适于细化的结构元素 1111000d d I = d d d L 10110 0= (2)粗化(Thick ) )(T X X T X ??=? 用(){}0,01=T (){}0,12=T 时,X X X T X =?=? X 21 1 1 2 3 T ? XoT X ? X X ?T X ΘT T ⊕

武汉科技大学 数字图像处理实验报告讲解

二○一四~二○一五学年第一学期电子信息工程系 实验报告书 班级:电子信息工程(DB)1102班姓名 学号: 课程名称:数字图像处理 二○一四年十一月一日

实验一图像直方图处理及灰度变换(2学时) 实验目的: 1. 掌握读、写、显示图像的基本方法。 2. 掌握图像直方图的概念、计算方法以及直方图归一化、均衡化方法。 3. 掌握图像灰度变换的基本方法,理解灰度变换对图像外观的改善效果。 实验内容: 1. 读入一幅图像,判断其是否为灰度图像,如果不是灰度图像,将其转化为灰度图像。 2. 完成灰度图像的直方图计算、直方图归一化、直方图均衡化等操作。 3. 完成灰度图像的灰度变换操作,如线性变换、伽马变换、阈值变换(二值化)等,分别使用不同参数观察灰度变换效果(对灰度直方图的影响)。 实验步骤: 1. 将图片转换为灰度图片,进行直方图均衡,并统计图像的直方图: I1=imread('pic.jpg'); %读取图像 I2=rgb2gray(I1); %将彩色图变成灰度图 subplot(3,2,1); imshow(I1); title('原图'); subplot(3,2,3); imshow(I2); title('灰度图'); subplot(3,2,4); imhist(I2); %统计直方图 title('统计直方图'); subplot(3,2,5); J=histeq(I2); %直方图均衡 imshow(J); title('直方图均衡'); subplot(3,2,6); imhist(J); title('统计直方图');

原 图 灰度图 01000 2000 3000统计直方图 100200直方图均衡 0统计直方图 100200 仿真分析: 将灰度图直方图均衡后,从图形上反映出细节更加丰富,图像动态范围增大,深色的地方颜色更深,浅色的地方颜色更前,对比更鲜明。从直方图上反应,暗部到亮部像素分布更加均匀。 2. 将图片进行阈值变换和灰度调整,并统计图像的直方图: I1=imread('rice.png'); I2=im2bw(I1,0.5); %选取阈值为0.5 I3=imadjust(I1,[0.3 0.9],[]); %设置灰度为0.3-0.9 subplot(3,2,1); imshow(I1); title('原图'); subplot(3,2,3); imshow(I2); title('阈值变换'); subplot(3,2,5); imshow(I3); title('灰度调整'); subplot(3,2,2); imhist(I1); title('统计直方图'); subplot(3,2,4);

相关文档
最新文档