文档库 最新最全的文档下载
当前位置:文档库 › 数字图像处理实验报告

数字图像处理实验报告

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

实验一图像增强实验

一、实验目的

(1)熟悉matlab的编程运用;

(2)利用图像增强的原理,改善图像的视觉效果,提高图像的清晰度;

(3)掌握图像增强技术中,灰度图像直方图的计算、图像线形变换、图像二值化、直方图均衡化的原理。

二、实验原理

图像增强是通过某种技术有选择地突出对某一具体应用有用的信息,削弱或抑制一些无用的信息。图像增强的主要目的有两个:一是改善图像的视觉效果,提高图像成分的清晰度;二是使图像变得有利于计算机的处理。常用的图像增强技术有图像数统计分析处理、直方图修正、平滑滤波和图像锐化等。

(1)灰度直方图

灰度直方图定义为数字图像中各灰度级与其出现的频数间的统计关系,可表示为

P(k)=n k/n , k=0,1,…,L-1

∑P(k)=1

式中,k为图像f(m,n)的第k级灰度值;n

k

为f(m,m)中灰度值为k的像素个数;n为图像的总像素个数;L为灰度级数;

暗图像对应的灰度直方图组成成分集中在灰度值较小(暗)的左边一侧,而明亮图像的直方图则倾向于灰度值较大(亮)的右边一侧。对比度较低的图像对应的直方图窄而集中于灰度级的中部,对比度较高的图像对应的直方图的分布范围窄,对应图像的灰度动态范围小。因此直方图反映了图像的清晰程度,当直方图均匀分布时,图像最清晰。由此,我们可以利用直方图来达到使图像清晰的目的。

(2)直方图均衡化

直方图均衡化是通过对原图像进行某种灰度变换,使变换后图像的直方图能均匀分布,这样就能使原图像中具有相近灰度且占有大量像素点的区域之灰度范围展宽,使大区域中的微小灰度变化显示出来,使图像更清晰。直方图均衡化的计算过程如下:

①列出原始图像和变换后图像的灰度级:I,j=0,1,…,L-1,其中L是灰度级的个数。

②统计原图像各灰度级的像素个数n

i

③计算原始图像直方图P(i)

④计算累计直方图P

j

=

0()

j k P k

=

?

⑤利用灰度变换函数计算变换后的灰度值,并四舍五入:j=INT[(L-1)P

j

+0.5]。

⑥确定灰度变换关系i→j,据此将原图像的灰度值f(m,n)=i修正为g(m,n)=j。

⑦统计变换后各灰度级的像素个数n

j

⑧计算变换后图像的直方图P(j)=n

j

/n 。

(3)灰度线性变换

在曝光不足或曝光过度的情况下,图像的灰度值会局限在一个较小的范围内,或虽然曝光充分,但图像中我们感兴趣部分的灰度值分布范围小、层次少,此时的图像可能是一个模糊、灰度层次不清楚的图像。利用灰度的线性或分段线性变换,就可以扩展图像的动态范围,或增强图像的对比度。

设原图像灰度取值f(m,n)∈[a,b],线性变换后的取值g(m,n)∈[c,d],则线性变换关系式为

g(m,n)=c+k[f(m,n)-a]

式中,k=d-c/b-a为变换函数(直线)的斜率。

根据[a,b]和[c,d]的取值大小,可有如下几种情况。

①扩展动态范围

若[a,b]包含于[c,d],即k>1,则结果会使图像灰度取值的动态范围展宽,这样可改善曝光不足的缺陷,或充分利用图像显示设备的动态范围。

②改变取值区间

若k=1,即d-c=b-a,则变换后灰度动态范围不变,但灰度取值区间会随a和c的大小而平移。

③缩小动态范围

若[c,d]包含于[a,b],即0

④反转或取反。

若k<0,即对于b>a有d

(4)图像二值化

通过对灰度图像二值化处理,能够凸现出感兴趣目标的轮廓.灰度图像的二值化处理就是讲图像上的点的灰度置为0或255,也就是讲整个图像呈现出明显的黑白效果。即将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。为了得到理想的二值图像,一般采用封闭、连通的边界定义不交叠的区域。所有灰度大于或等于阀值的像素被判定为属于特定物体,其灰度值为255 表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域。

三、实验内容

(1)计算一幅图像的直方图;

(2)利用直方图均衡化进行图像增强;

(3)对灰度图像进行简单的灰度线性变换,看其直方图的对应变化和图像对比度的变化;进行图像二值化;

四、实验结果及分析

(1)直方图均衡化结果:

原图

直方图均衡化后的图

0100200

图1.1 原图直方图和均衡后的直方图比较

结果分析:均衡化后的直方图的灰度级较原图像更均匀,可以得出图像均衡化能够使变换后图像的直方图能均匀分布,这样就能使原图像中具有相近灰度且占有大量像素点的区域之灰度范围展宽,使大区域中的微小灰度变化显示出来,使图像更清晰。直方图均衡化的优点是得到近似均匀分布的直方图。但由于变换函数采用累积分布函数,只能产生近似均匀的直方图的结果

(2)灰度线性变换和图像二值化的结果

(a)原图像(b)扩展动态范围

(c)图像取反(d)有扩有压

图1.2 图像灰度线性变换图1.3图像二值化

分析:灰度线性变换能够改变图像的灰度情况,当图像成象时曝光不足或过度, 或由于成象设备的非线性和图像记录设备动态范围太窄等因素,都会产生对比度不足的弊病,使图像中的细节分辨不清,此时可将灰度范围线性扩展来改善图像效果。

附:

(1)程序代码:function bars=histogram(I)

bars=zeros(1,256);

I=uint16(I);

for v=1:numel(I)

bars(I(v)+1)=bars(I(v)+1)+1;

end

bars=bars./numel(I);

(2)实验程序:

I=imread('cameraman.tif');

G=I;

subplot(2,2,1);

imshow(I);

title('原图');

subplot(2,2,2);

I1=histogram(I);

bar(0:255,I1)

title('原直方图');

[wid,hei]=size(I);

n=zeros(1,256);p=zeros(1,256);

s=zeros(1,256);r=zeros(1,256);

sr=zeros(1,256);

for k=1:256

for i=1:wid

for j=1:hei

if I(i,j)==k

n(k)=n(k)+1; %统计各灰度级的像素个数

end

end

end

p(k)=n(k)/(wid*hei); %计算原始图像直方图

for i=1:k

s(k)=s(k)+p(i); %计算累计直方图

end

end

for i=1:256

r(i)=(i-1)/(256-1);

end

for m=1:256

ck=1;

for k=1:256

if abs(r(m)-s(k))

ck=abs(r(m)-s(k));

sr(m)=s(k); %利用灰度变换函数计算变换后的灰度值

end

end

end

for i=1:wid

for j=1:hei

for k=1:256

if I(i,j)==255*r(k)

G(i,j)=sr(k)*256;%确定灰度变换关系,将原图像的灰度值变为修正后的值end

end

end

end

subplot(2,2,3)

imshow(G);

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

subplot(2,2,4);

bars=histogram(G);

bar(0:255,bars);

title('均衡化后的图');

(3)实验程序:

clear all;

close all;

%打开图像文件,显示原图像

f=imread('Cameraman.tif');

figure(1)

subplot(221);

imshow(f);xlabel('(a)原图像');

a=96;

b=160;

c=60;

d=224;

M=255;

N=255;

%(1)对原图像扩展动态范围,显示结果

k=(d-c)/(b-a);

for i=1:256

for j=1:256

g1(i,j)=c+k*(f(i,j)-a);

end

end

subplot(222);

imshow(g1);

xlabel('(b)扩展动态范围');

%(2)对原图像取反,显示结果

for m=1:256

for n=1:256

g2(m,n)=M-f(m,n);

end

end

subplot(223);

imshow(g2);

xlabel('(c)í???è?·′');

%(3)对原图像进行分段线性(有压有扩)变换,显示结果for i=1:256

for j=1:256

if f(i,j)

g3(i,j)=c*(f(i,j))/a;

elseif f(i,j)>=b

g3(i,j)=(N-d)*(f(i,j)-b)/(M-b)+d;

else

g3(i,j)=(d-c)*(f(i,j)-a)/(b-a)+c;

end

end

end

subplot(224)

imshow(g3);xlabel('(d)有压有扩');

%图像二值化

J=find(f<150);

f(J)=0;

J=find(f>=150);

f(J)=255;

title('图像二值化,域值为150');

figure(2)

imshow(f)

实验二图像变换实验

一、实验目的

1.了解离散傅里叶变换的基本性质;

2.熟练掌握图像傅里叶变换的方法及应用;

3熟悉图像频域处理的意义和手段;

4.掌握利用MATLAB实现数字图像的频域处理。

二、实验原理

1. 一维快速傅里叶变换的原理:

关于变量X 的次数界为n 多项式P(X),

其系数表示法表示为

P(X) = A0 * X^0 + A1 * X^1 + ... + An-1 * X^(n-1)

其点值表示法表示为

n 个点值对组成的集合{ (X0,Y0), (X1,Y1), ..., (Xn-1,Yn-1) },

集合中所有Xi 各不相同且Yi = P(Xi)。

显然,点值表示不唯一。

2. 二维快速傅里叶变换的原理:

由其可分性,二维变换可以用二次一维变换实现,即先后在两个“方向”上使用一维变换。

3. 灰度图像中的快速傅里叶变换:

将图像看做二维函数,图像灰度值为函数在相应XY处的函数值,对其进行二维快速傅里叶变换,得到一个复数矩阵,将此矩阵水平循环移动半宽,垂直循环移动半高。新图像的大小同此矩阵,而图像中像素的灰度为复数矩阵中相应位置的复数的模。新图像还需进行图像增强。

逆变换,是在变换后得到的复数矩阵上进行的二维傅里叶逆变换。

4.DCT变换

Fourier变换的一个最大的问题是:它的参数都是复数,在数据的描述上相当于实数的两倍。为此,我们希望有一种能够达到相同功能但数据量又不大的变换。在此期望下,产生了DCT变换。

(1)DCT变换的应用:

余弦变换实际上是傅立叶变换的实数部分。余弦变换主要用于图像的压缩,如目前的国际压缩标准的JPEG格式中就用到了DCT变换。具体的做法与DFT 相似。给高频系数大间隔量化,低频部分小间隔量化。

(2)一维离散余弦变换

正变换:f(x)为一维离散函数,x=0,1,…,N-1

1

(0)()

N

x

F f x

-

=

,

u=0

1

()()cos[(21)]

2

F u f x x u

N

p

-

=

+, u=1, 2,…,N-1

反变换:

1

()(0)()cos[(21)]

2

f x F F u x u

N

p

-

=

+,x=0,1,…,N-1

(3)二维离散余弦变换

正变换:

11

00

1

(0,0)(,)

N N

x y

F f x y

N

--

==

=邋,u=0,

v=0

11

00

(,0)(,)cos[(21)]

2

N N

x y

F u f x y x u

N

p

--

==

+,v=0,u=1,2,…

,N-1

11

00

(0,)(,)cos[(21)]

2

N N

x y

F v f x y y v

N

p

--

==

=+,u=0,v=1,2,…,N-1

11

00

2

(,)(,)cos[(21)]cos[(21)]

22

N N

x y

F u v f x y x u y v

N N N

p p

--

==

=++

邋u,v=1,2,…,N-1

反变换

11

11

11

11

1

(,)(0,0)

(,0)cos[(21)](0,)cos[(21)]

22

2

(,)cos[(21)]cos[(21)]

22

N N

u v

N N

u v

F u v F

N

F u x u F v y v

N N

F u v x u y v

N N N

p p

p p

--

==

--

==

=+

+++

++

三、实验内容

1、傅立叶变换:熟悉其概念和原理,实现对一幅灰度图像的快速傅立叶变换,并求其变换后的系数(幅度)分布;

2、DCT变换:熟悉其概念和原理,实现对一幅图像做离散余弦变换,选择适当的DCT系数

阈值对其进行DCT反变换;

四、实验结果及分析

fft

零点平移的fft

系数分布图

DCT 变

换DCT 反变换

图像经DCT后, 能量集中于频率平面的左上角。经过二维DCT变换后的矩阵,其非零元素主要集中于某一个区域,通常是左上角,而右下角大部分是零.利用这一特点就可以实现图像压缩.在实际传输时,仅仅传输代表低频份量的左上角,并对其进行量化编码,其余均去掉(反变换时,把去掉点填零来处理),这样就可达到图像压缩的目的.

附:

实验程序:

(1)快速傅里叶变换

function wo_fft2(x,m,n)

f = fft(fft(x,n,2),m,1);

F=log(abs(f));

figure(1);

imshow(F,[]);

title('fft')

F=double(F);

M=fftshift(F);

figure(2);

imshow(log(abs(M)),[]);

title('平移后fft')

I1 = M(:,:,1);

figure(3);

mesh(double(I1))

title('系数分布图')

(2)DCT变换和反变换

function b=wo_dct2(x)

b = dct(dct(x).').';

figure;

imshow(log(abs(b)),[]);

title('DCT变换')

function wo_idct2(x)

b = idct(idct(x).').';

figure;

imshow(log(abs(b)),[]);

title('DCT反变换')

实验三图像分割实验

一、实验目的

(1)理解边缘提取的原理;

(2)理解各种边缘提取算子定义及其性质;

(3)了解边缘提取理论在图像处理中的应用;

(4)掌握几种常用边缘算子的提取方法。

二、实验原理

图像分割的定义:对整个图像区域的分割可看作将图像分成若干个满足完备性、独立性、相似性、互斥性和连通性的条件的非空子集。实际应用中,总是将图像划分成背景子区域和不同的目标物子区域,其中的划分满足上述性质,则该划分就称为该图像的分割。

(1)平滑梯度算子法(平均差分法)

梯度算子类边缘检测方法的效果类似于高通滤波,有增强高频分量,抑制低频分量的作用。因此,这类算子对噪声较敏感。它们会把噪声点当作边缘点二检测出来,这就给后续的边缘特征和边缘线跟踪带来很大的困难。为此,在对实际含噪声图像进行边缘点检测时,人们希望检测算法同时具有噪声抑制作用。下面就给出几种具有噪声抑制作用的平滑梯度算子法。

a)Prewitt梯度算子法(平均差分法)

我们知道,平均能减少或消除噪声,为此我们可以先求平均,再求差分,即利用所谓的平均差分来求梯度。这就是Prewitt梯度算子法。水平和垂直梯度末班分别为

W h=1/3

1 0 1

1 0 1

1 0 1

轾-

犏-

犏-臌

,W v=1/3

111

0 0 0

1 1 1

轾---

犏臌

有了检测模板,就可求得水平和垂直方向的梯度,再通过梯度合成和边缘点判定,就可得到平均差分法的检测结果。按照同样的原理,可以进一步扩大窗口,则一直噪声会更明显,但同时也会损失一些边缘信息。

b)Sobel算子法(加权平均差分法)

将Prewitt算子中的平均差分改为加权平均差分,即对当前行或列对应的值加权后,再进行平均差分,就形成Sobel算子,也称为加权平均差分。其水平和垂直梯度模板分别为:

W h=1/4

1 0 1

2 0 2

1 0 1

轾-

犏-

犏-臌

,W v=1/4

1 2 1

0 0 0

1 2 1

轾---

犏臌

Sobel算子和Prewitt算子一样,都在检测边缘点的同时具有抑制噪声的能力,检测出的边缘宽度至少为二像素。由于它们都是先平均后差分,平均时会丢失一些细节信息,使边缘有一定的模糊。但由于Sobel算子的加权作用,其使边缘的模糊程度要稍低于Prewitt 算子。

③各向同性Sobel算子

上面所述Sobel算子的水平和垂直梯度分别对水平及垂直方向的突变敏感,即只有用其检

测水平及垂直走向的边缘时,梯度的幅度才一样,Frei 和Chen 曾提出上、下、左、右权值

由2,以使水平、垂直和对角边缘的梯度相同。各向同性的Sobel 算子,其水平和垂直梯度的模板为:

W h

0 W c -1;0 0 0 ;1 1 ]。

(2)LoG 算子法

实际应用中,由于噪声的影响,对噪声敏感的边缘点检测算法(如Laplacian 算子法)可能会把噪声当边缘点检测出来,而真正的边缘点会被噪声淹没而未检测出。为此,Marr 和Hildreth 提出了高斯-拉普拉斯边缘检测算子,简称LoG 算子法。该方法是先采用高斯算子对原图像进行平滑,然后再施以Laplacian 算子,这就克服了Laplacian 算子对噪声敏感的特点,减少了噪声的影响。

二维高斯函数为

h( x, y )=exp[-(x 2+y 2/2σ2)]

则连续函数f (x ,y )的LoG 边缘检测算子定义为

G (x ,y )=-▽2[h(x,y)*f(x,y)]=[- ▽2h(x,y)]*f(x,y)=H(x,y)*f(x,y)

H (x ,y )=- ▽2h(x,y)= σ2-r 2/σ4 exp(-r 2/2σ2)

其中r 2=x 2+y 2,σ是标准差。算子H (x ,y )是一个轴对称函数。由于它相当平滑,能减少噪声的影响,所以当边缘模糊或噪声较大时,利用H (x ,y )检测过零点能提供较可靠的边缘位置。

(3)单阈值分割

当图像的灰度直方图呈双峰形状时,可通过取单门限,将图像分割成目标物和背景两类。即

g (m ,n )=1,(,)0,f m n T ì>?í??其他

式中,T 是灰度门限,一般取直方图双峰间波谷的灰度值,此时就将图像分成了标记为“1”的区域和标记为“0”的另一区域,至于哪个区是目标物,哪个是背景,要看目标物和背景的灰度取值的相对大小。这种方法也成为门限化二值分割。

(4)最优阈值

当目标物区域与背景区域的平均灰度值差别不大,或者由于噪声干扰,图像灰度直方图没有明显的双峰一谷特征时,需要寻找最优阈值。这里的最优是要求错分概率达到最小。

设一幅图像由目标物和背景两部分构成,目标物和背景的灰度分布概率密度函数分别为p 1(t )和p 2(t ),若已知背景和目标物像素出现的先验概率(其出现像素个数占图像

像素个数比例)分别为P 1和P 2,且有P 1+P 2=1,则图像的混合概率密度函数为

P (t )=P 1p 1(t )+P 2p 2(t )

如果设置灰度门限T 将目标物和背景区分开,即

如果f (m ,n )>T ,则(m ,n )∈目标物。

如果f (m ,n )≤T ,则(m ,n )属于背景。

由于目标物和背景的灰度分布是有交叠的,无论如何选择T ,总会造成错误分类。通过先验知识,可估计出错分概率的大小。

将1个目标物像素错分为1个背景像素的概率为

E 1(T)= T

2-p t ¥ò()

dt

将1个背景像素错分为1个目标物像素的概率为

E

2(T)=

+

1

T

p t

ò()dt

所以,选取阈值T的总的错分概率为

E(T)=P

1·E

1

(T)+P

2

·E

2

(T)

门限T的选择应使上式最小,即有

E T

T

?

?

()

=0,得

P1p1(T)=P2p2(T)

三、实验内容

(1)边缘检测:分别用sobel、Laplacian-Gaussian方法对一幅灰度图像进行边缘提取,给出对比结果;

(2)灰度阀值分割:利用双峰法对一幅灰度图像进行灰度分割处理。

四、实验结果及分析

Sobel LoG

图 3.1 sobel算子处理结果图 3.2 log算子处理结果

0100200

原图像的直方图

分割结果

3.3 灰度阈值分割

分析:LoG 算子:首先用高斯函数进行滤波,然后使用Laplacian 算子检测边缘,克服了Laplacian 算子抗噪声能力较差的缺点,LoG 算子中高斯函数中方差参数σ的选择很关键,σ越大避免了虚假边缘的检出,边缘也被平滑造成边缘点的丢失。σ越小,噪声抑制能力相对下降,容易出现虚假边缘。

Sobel 算子是一阶的微分算子,加权平均滤波且检测的图像边缘可能大于2个像素。对灰度渐变低噪声的图像有较好的检测效果。

实验程序:

clear all

close all

A=imread('cameraman.tif');

imshow(A);title('原图');

mask=[0,0,-1,0,0;0,-1,-2,-1,0;-1,-2,16,-2,-1;0,-1,-2,-1,0;0,0,-1,0,0];建立模板 I=im2double(A);%将数据图像转化为双精度

dx=imfilter(I,mask);%计算梯度矩阵

grad=mat2gray(dx);%将梯度矩阵转化为双精度

BW=im2bw(grad,0.58);%用阈值分割梯度图像

figure(1);imshow(BW);%显示分割后的图像,即梯度图像

title('LoG')

%sobel 算子程序

y_mask=[-1 -2 -1;0 0 0;1 2 1];%建立模板

x_mask=y_mask';

I=im2double(A);

dx=imfilter(I,x_mask);

dy=imfilter(I,y_mask);

grad=sqrt(dx.*dx+dy.*dy);

grad=mat2gray(grad);

level=graythresh(grad);

BW=im2bw(grad,level);

figure(2),imshow(BW);

title('Sobel')

%灰度阈值分割

figure(3)

subplot(121);

bars=histogram(A);

bar(0:255,bars);

axis([0,260,0,0.03]);

title('原图像的直方图');

p1={'Input Num:'};

p2={'180'};

p3=inputdlg(p1,'Input Num:1~256',1,p2); p=str2num(p3{1});

[M N]=size(A);

fnew=zeros([M N]);

for i=1:M %使用二值分割显示分割结果

for j=1:N

if A(i,j)>p

fnew(i,j)=255;

else

fnew(i,j)=0;

end

end

end

subplot(122)

imshow(fnew);

title('分割结果');

实验四图像压缩实验

一、实验目的

1、掌握MATLAB的基本操作;

2、理解图像压缩的主要原则和目的;

3、了解几种常用的图像压缩编码方式;

二、实验原理

在计算机数字图像文件常用格式中,作为静止图像压缩编码技术国际标准推出的JPEG (J0int Photograph—ic Experts Group)格式是一种称为联合图像专家组的图像压缩格式,它适用于各种不同类型、不同分辨率要求的彩色和黑白静止图像.

1、基于DCT的JPEG图像压缩编码

在JPEG各类图像压缩算法中,基于离散余弦变换(DCT,Discrete Cosine Transform)的图像压缩编码过程称为基本顺序过程,它应用于绝大多数图像压缩场合,并且它能在图像的压缩操作中获得较高的压缩比,另外,重构图像与源图像的视觉效果基在编码过程中,首先将输入图像分解为8×8大小的数据块,然后用正向二维DCT把每个块转变成64个DCT系数值,其中1个数值是直流(DC)系数,即8×8空域图像子块的平均值,其余的63个是交流(Ac)系数,接下来对DCT系数进行量化,最后将变换得到的量比的DCT系数进行编码和传送,形成压缩后的图像格式在解码过程中,先对已编码的量子化的DCT系数进行解码,然后求逆量化并把DCT系数转化为8×8样本像块(使用二维DCT反变换),最后将操作完成后的块组合成一个单一的图像.这样就完成了图像的压缩和解压过程.本相同。

2、DCT系数的量化

系数量化是一个十分重要的过程,是造成DCT编解码信息损失(或失真)的根源.在JPEG 压缩算法中采用均匀量化器,量化定义可以表述为:对64个DCT系数除以其量化步长,四舍五人取整,即

Q(u,v)=IntegerRound(F(u,v)/S(u,v ))

式中,Q(u,v)为量化的系数幅度,S(u,v )为量化步长,它是量化表的元素,通常随DCT系数的位置和彩色分量的不同而取不同的值,量化表的尺寸为8x 8与64个DCT系数(一般将图像分解为8 x 8图像字块进行处理)一一对应.

量化的作用是在一定的主观保真度图像质量的前提下,丢掉那些对视觉影响不大的信息,以获得较高的压缩比.由于DCT系数包含了空问频率信息,可充分利用人眼对不同频率敏感程度不同这一特性来选择量化表中的元素值的大小.对视觉重要的系数采用细量化(量化步长较小),如低频系数被细量化,对高频系数采用粗量化(量化步长较大).对于上述这一点,从MATLb~B仿真得到的DCI"变换谱中得到证明.在整个MATLAB仿真实现中,由于处理的对象是黑白图像,所以只设置了亮度量化表.

3、Huffman编码的原理及方法

先介绍可变码长最佳编码定理。

定理在变长编码中,如果码字长度严格按照信号中符号出现概率大小的相反顺序排列,则平均码字长度一定小于其他符号顺序排列方式的平均码字长度。

D.A.Huffman(哈夫曼)根据可变长最佳编码定理,提出了依据信源集中符号出现

的概率分配不同长度的唯一可译码的算法。接收端在得到哈夫曼编码后,通过解码可以得到与输入完全一致的信号。

Huffman编码的算法如下:

(1)将图像的灰度等级按概率大小进行升序排列。

(2)在灰度级集合中取两个最小概率相加,合成一个概率。

(3)新合成的概率与其他的概率成员组成新的概率集合。

(4)在新的概率集合中仍然按照步骤(2)~(3)的规则,直至新的概率集合中只有一个概率为1的成员。这样的归并过程可以用二叉树描述。

(5)从根节点按前缀码的编码规则进行二进制编码。

三、实验内容

实现基本JPEG的压缩和编码分三个步骤:

(1)首先通过DCT变换去除数据冗余;

(2)使用量化表对DCT系数进行量化;

(3)对量化后的系数进行Huffman编码。

四、实验结果即分析

截取部分实验数据结果如下:

ImageBitLen =

28672

my_I = 001101000110100011010001101000110100011010001101000110100011010001101000110100 011010001101000110100011010001101000110100011010001101000110100011010001101000 110100011010001101000110100011010001101000110100011010001101000110100011010001 101000110100011010001101000110100011010001101000110100011010001101000110100011 010001101000110100011010001101000110100011010001101000110100011010001101000110 …

ImageBitLen =

28672

miq_I = 001101000110100011010001101000110100011010001101000110100011010001101000110100 011010001101000110100011010001101000110100011010001101000110100011010001101000 110100011010001101000110100011010001101000110100011010001101000110100011010001 101000110100011010001101000110100011010001101000110100011010001101000110100011 010001101000110100011010001101000110100011010001101000110100011010001101000110 …

附:

实验程序:

clear;

clc;

I=imread('lena.bmp');

yiq=rgb2ntsc(I); % transform RGB to NTSC my=[16 11 10 16 24 40 51 61;

12 12 14 19 26 58 60 55;

14 13 16 24 40 57 69 56;

14 17 22 29 51 87 80 62;

18 22 37 56 68 109 103 77;

24 35 55 64 81 104 113 92;

49 64 78 87 103 121 120 101;

72 92 95 98 112 100 103 99];

miq=[17 18 24 47 99 99 99 99;

18 21 26 66 99 99 99 99;

24 26 56 99 99 99 99 99;

47 66 99 99 99 99 99 99;

99 99 99 99 99 99 99 99;

99 99 99 99 99 99 99 99;

99 99 99 99 99 99 99 99;

99 99 99 99 99 99 99 99];

C= dctmtx(8);%生成标准DCT变化中的矩阵(8×8)...DCT变换公式:Y=CPC';逆变换P=C'YC;

I1=yiq(:, :, 1);%亮度信号

I2=yiq(:, :, 2);%色差信号

[m n]=size(I1);

%形成ti1*ti2个8*8块

t1=8;

ti1=1;

while (t1<(m+8))

t1=t1+8;

ti1=ti1+1;

end

t2=8;

ti2=1;

while (t2<(n+8))

t2=t2+8;

ti2=ti2+1;

end

time_s=0;

for k=0:ti1-2

for j=0:ti2-2

P1=I1(k*8+1:k*8+8,j*8+1:j*8+8);

I1_1(k*8+1:k*8+8,j*8+1:j*8+8)=dct8x8(P1,my);%亮度信号分块量化

P2=I2(k*8+1:k*8+8,j*8+1:j*8+8);

I2_1(k*8+1:k*8+8,j*8+1:j*8+8)=dct8x8(P2,miq);%色差信号分块量化

time_s=time_s+1;

end

end

I1_1

I2_1

my_I=AC_DC(I1_1)%亮度信号的编码序列

miq_I=AC_DC(I2_1)%色差信号的编码序列

思考题

1. 如何读一幅彩色图象,以灰度值图象的形式显示其RGB各分量?

答:一幅M×N的RGB彩色图像可以用一个M×N×3的矩阵来描述,图像中的每一个像素对应与红、绿、蓝三个分量组成的三元组。在Matlab中要生成一幅RGB图像可以采用cat 函数得到。其基本语法如下:

B=cat(dim,A1,A2,A3,…)

其中,dim为维数,cat函数将A1,A2,A3等矩阵连接成维数为dim的矩阵。对图像生成而言,可以取dim=3,然后将三个分别代表RGB分量的矩阵连接在一起:

I=cat(3,iR,iG,iB)

这里iR,iG,iB分别为生成的RGB图像的三种颜色分量。这样,就可以通过cat函数将三个分量合成一幅彩色图像。

相应地,要分别获取一幅RGB图像I的三个分量的值,可以使用下列语句:

iR=I(:,:,1);

iG=I(:,:,2);

iB=I(:,:,3);

2. 对一幅图像进行傅氏变换和余弦变换,观察其振幅谱的特点。

傅氏变换:

I=imread('lena.bmp');

J=fft2(I);

K=fftshift(J);

imshow(log(abs(K)),[]),colormap(jet(64)),colorbar;

余弦变换:

I=imread('lena.bmp');

b = dct(dct(I).').'

F=log(abs(b));

I1 = F(:,:,1);

figure(2);

imshow(I1,[]),colormap(jet(64)),colorbar;

数字图像处理实验1

实验一 实验内容和步骤 练习图像的读取、显示和保存图像数据,步骤如下: (1)使用命令figure(1)开辟一个显示窗口 (2)读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内显示、二值图像和灰度图像,注上文字标题。 (3)保存转换后的灰度图像和二值图像 (4)在同一个窗口显示转换后的灰度图像的直方图 I=imread('BaboonRGB.bmp'); figure,imshow(I); I_gray=rgb2gray(I); figure,imshow(I_gray); I_2bw=Im2bw(I_gray); figure,imshow(I_2bw); subplot(1,3,1),imshow(I),title('RGB图像'); subplot(1,3,2),imshow(I_gray),title('灰度图像'); subplot(1,3,3),imshow(I_2bw),title('二值图像'); imwrite(I_gray,'Baboongray.png'); imwrite(I_2bw,'Baboon2bw.tif'); figure;imhist(I_gray);

RGB 图 像灰度图 像二值图 像 050100150200250 500 1000 1500 2000 2500 3000

(5)将原RGB 图像的R 、G 、B 三个分量图像显示在figure(2)中,观察对比它们的特点,体会不同颜色所对应的R 、G 、B 分量的不同之处。 [A_RGB,MAP]=imread('BaboonRGB.bmp'); subplot(2,2,1),imshow(A_RGB),title('RGB'); subplot(2,2,2),imshow(A_RGB(:,:,1)),title('R'); subplot(2,2,3),imshow(A_RGB(:,:,2)),title('G'); subplot(2,2,4),imshow(A_RGB(:,:,3)),title('B'); (6)将图像放大1.5倍,插值方法使用三种不同方法,在figure(3)中显示放大后的图像,比较不同插值方法的结果有什么不同。将图像放大到其它倍数,重复实验;A=imread('BaboonRGB.bmp'); figure(3),imshow(A),title('原图像'); B=imresize(A,1.5,'nearest'); figure(4),imshow(B),title('最邻近法') C=imresize(A,1.5,'bilinear'); ; figure(5),imshow(C),title('双线性插值'); D=imresize(A,1.5,'bicubic'); figure(6),imshow(D),title('双三次插值 '); RGB R G B

关于数字图像处理论文的题目

长春理工大学——professor——景文博——旗下出品 1基于形态学运算的星空图像分割 主要内容: 在获取星图像的过程中,由于某些因素的影响,获得的星图像存在噪声,而且星图像的背景经常是不均匀的,为星图像的分割造成了极大的困难。膨胀和腐蚀是形态学的两个基本运算。用形态学运算对星图像进行处理,补偿不均匀的星图像背景,然后进行星图像的阈值分割。 要求: 1> 图像预处理:对原始星空图像进行滤波去噪处理; 2> 对去噪后的图像进行形态学运算处理; 3> 选取自适应阈值对形态学运算处理后的图像进行二值化; 4> 显示每步处理后的图像; 5> 对经过形态学处理后再阈值的图像和未作形态学处理后再阈值的图像进行对比分析。 待分割图像直接分割图像处理后的分割图像 2基于数字图像处理的印刷电路板智能检测方法 主要内容: 通过对由相机实时获取的印刷电路板图像进行焊盘识别,从而提高电子元件的贴片质量,有效提高电路板的印刷效率。 要求: 1> 图像预处理:将原始彩色印刷电路板图像转成灰度图像,对灰度图像进行背景平滑和滤波去噪; 2> 对去噪后的图像进行图像增强处理,增强边缘提取的效果。 3> 对增强后的图像进行边缘提取(至少两种以上的边缘提取算法); 4> 显示每步处理后的图像(原始电路板图像可自行查找); 5> 图像处理后要求能对每个焊盘进行边缘提取,边缘清晰。 3静止背景下的移动目标视觉监控 主要内容:

基于视觉的人的运动分析最有前景的潜在应用之一是视觉监控。视觉监控系统的需求主要来自那些对安全要求敏感的场合,如银行、商店、停车场、军事基地等。通过对静止背景下的目标识别,来提醒监测人员有目标出现。 要求: 1>对原始参考图和实时图像进行去噪处理; 2>对去噪后的两幅图像进行代数运算,找出目标所在位置,提取目标,并将背景置黑; 3> 判断目标大小,若目标超过整幅图像的一定比例时,说明目标进入摄像保护区域,系统对监测人员进行提示(提示方式自选)。 4>显示每步处理后的图像; 5>分析此种图像监控方式的优缺点。 背景目标出现目标提取 4车牌识别图像预处理技术 主要内容: 车辆自动识别涉及到多种现代学科技术,如图像处理、模式识别与人工智能、计算机视觉、光学、机械设计、自动控制等。汽车作为人类生产、生活中的重要工具被广泛的使用,实现自动采集车辆信息和智能管理的车牌自动识别系统具有十分重要的意义: 要求: 1>对原始车牌图像做增强处理; 2>对增强后的彩色图像进行灰度变换; 3>对灰度图像进行直方图均衡处理; 4>选取自适应的阈值,对图像做二值化处理; 5>显示每步处理后的图像; 6>分析此种图像预处理的优缺点及改进措施,简要叙述车牌字符识别方法 原始车牌图像处理后的车牌图像 5医学细胞图像细胞分割图像增强算法研究 主要内容: 医学图象处理利用多种方法对各种图像数据进行处理,以期得到更好的显示效果以便医生根据细胞的外貌进行病变分析。 要求: 1>通过对图像的灰度变换调整改变细胞图像的灰度,突出感兴趣的细胞和细胞核区域。 2>通过直方图修改技术得到均衡化或规定化等不同的处理效果。 3>采用有效的图像平滑方法对细胞图像进行降噪处理,消除图像数字化和传输时所混入的噪声,提高图像的视觉效果。 4>利用图像锐化处理突出细胞的边缘信息,加强细胞的轮廓特征。 5>显示每步处理图像,分析此种细胞分割图像预处理方法的优缺点。 原始细胞图像 图像处理后的细胞图像 6瓶子灌装流水线检测是否液体灌装满瓶体 当饮料瓶子在罐装设备后要进行液体的检测,即:进行判断瓶子灌装流水线是否灌装满瓶体的检测,如液面超过瓶颈的位置,则装满,否则不满,如果不满则灌装液体不合格,需重新进行灌装。 具体要求: 1)将原进行二值化 2)二值化后的图像若不好,将其滤波再进行膨胀处理,并重新进行二值化

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

数字图像处理 课程设计报告 姓名: 学号: 班级: 设计题目:图像处理 教师:赵哲老师 提交日期: 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)

数字图像处理四个实验报告,带有源程序

数字图像处理 实验指导书 学院:通信与电子工程学院 专业:电子信息工程 班级: 学号: 姓名: XX理工大学

实验一 MATLAB数字图像处理初步 一、实验目的与要求 1.熟悉及掌握在MATLAB中能够处理哪些格式图像。 2.熟练掌握在MATLAB中如何读取图像。 3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。 4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。 5.图像间如何转化。 二、实验原理及知识点 1、数字图像的表示和类别 一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。 图像关于x和y坐标以及振幅连续。要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。将坐标值数字化成为取样;将振幅数字化成为量化。采样和量化的过程如图1所示。因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。 作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。 图1 图像的采样和量化 根据图像数据矩阵解释方法的不同,MA TLAB把其处理为4类: 亮度图像(Intensity images) 二值图像(Binary images) 索引图像(Indexed images) RGB图像(RGB images)

数字图像处理实验报告

数字图像处理实验报告 实验一数字图像基本操作及灰度调整 一、实验目的 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) 对比拉伸:在实际应用中,为了突出图像中感兴趣的研究对象,常常要求 局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理,即分段线性拉伸: 其对应的数学表达式为:

数字图像处理毕业论文

毕业论文声明 本人郑重声明: 1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。本人完全意识到本声明的法律结果由本人承担。 2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。 3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。 4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。 学位论文作者(签名): 年月

关于毕业论文使用授权的声明 本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。本人完全了解大学有关保存,使用毕业论文的规定。同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入学校有关数据库和收录到《中国学位论文全文数据库》进行信息服务。在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。 论文作者签名:日期: 指导教师签名:日期:

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

二○一四~二○一五学年第一学期电子信息工程系 实验报告书 班级:电子信息工程(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);

数字图像处理实验指导书模板

《数字图像处理》实验指导书 编写: 罗建军 海南大学三亚学院 10月

目录 一、概述 ....................................................................... 错误!未定义书签。 二、建立程序框架 ....................................................... 错误!未定义书签。 三、建立图像类 ........................................................... 错误!未定义书签。 四、定义图像文档实现图像读/写.............................. 错误!未定义书签。 五、实现图像显示 ....................................................... 错误!未定义书签。 六、建立图像处理类................................................... 错误!未定义书签。 七、实现颜色处理功能............................................... 错误!未定义书签。 (一) 亮度处理................................................................. 错误!未定义书签。 (二) 对比度处理............................................................. 错误!未定义书签。 (三) 色阶处理................................................................. 错误!未定义书签。 (四) 伽马变换................................................................. 错误!未定义书签。 (五) 饱和度处理............................................................. 错误!未定义书签。 (六) 色调处理................................................................. 错误!未定义书签。 八、实现几何变换功能............................................... 错误!未定义书签。 (一) 图像缩放................................................................. 错误!未定义书签。 (二) 旋转......................................................................... 错误!未定义书签。 (三) 水平镜像................................................................. 错误!未定义书签。 (四) 垂直镜像................................................................. 错误!未定义书签。 (五) 右转90度................................................................. 错误!未定义书签。 (六) 左转90度................................................................. 错误!未定义书签。 (七) 旋转180度............................................................... 错误!未定义书签。 九、实现平滑锐化功能............................................... 错误!未定义书签。 十、图像处理扩展编程............................................... 错误!未定义书签。

数字图像处理实验 实验二

实验二MATLAB图像运算一、实验目的 1.了解图像的算术运算在数字图像处理中的初步应用。 2.体会图像算术运算处理的过程和处理前后图像的变化。 二、实验步骤 1.图像的加法运算-imadd 对于两个图像f x,y和 (x,y)的均值有: g x,y=1 f x,y+ 1 (x,y) 推广这个公式为: g x,y=αf x,y+β (x,y) 其中,α+β=1。这样就可以得到各种图像合成的效果,也可以用于两张图像的衔接。说明:两个示例图像保存在默认路径下,文件名分别为'rice.png'和'cameraman.tif',要求实现下图所示结果。 代码: I1 = imread('rice.png'); I2 = imread('cameraman.tif'); I3 = imadd(I1, I2,'uint8'); I4 = imadd(I1, I2,'uint16'); subplot(2, 2, 1), imshow(I1), title('?-ê?í???1'); subplot(2, 2, 2), imshow(I2), title('?-ê?í???2'); subplot(2, 2, 3), imshow(I3), title('8??í?????ê?'); subplot(2, 2, 4), imshow(I4), title('16??í?????ê?'); 结果截图:

2.图像的减法运算-imsubtract 说明: 背景图像可通过膨胀算法得到background = imopen(I,strel('disk',15));,要求实现下图所示结果。 示例代码如下: I1 = imread('rice.png'); background = imerode(I1, strel('disk', 15)); rice2 = imsubtract(I1, background); subplot(2, 2, 1), imshow(I1), title('?-ê?í???'); subplot(2, 2, 2), imshow(background), title('±3?°í???'); subplot(2, 2, 3), imshow(rice2), title('′|àíoóμ?í???'); 结果截图: 3.图像的乘法运算-immultiply

数字图像处理应用论文数字图像处理技术论文

数字图像处理应用论文数字图像处理技术论文 关于数字图像处理及其应用的研究 摘要:首先对数字图像处理的关键技术以及相应的处理设备进行详细的探讨,然后对数字图像处理的应用领域以及发展趋势进行详尽论述。 关键词:数字图像处理:关键技术;应用领域 0 引言 人类通过眼、耳、鼻、舌、身接受信息,感知世界。约有75%的信息是通过视觉系统获取的。数字图象处理是用数字计算机处理所获取视觉信息的技术,上世纪20年代Bartlane电缆图片传输系统(纽约和伦敦之间海底电缆)传输一幅图片所需的时间由一周多减少到小于3个小时;上世纪50年代,计算机的发展,数字图像处理才真正地引起人们的巨大兴趣;1964年,数字图像处理有效地应用于美国喷气推进实验室(J.P.L)对“徘徊者七号”太空船发回的大批月球照片的处理;但是直到上世纪六十年代末至七十年代扔,由于离散数学理论的创立和完善,使之形成了比较完整的理论体系,成为一门新兴的学科。数字图像处理的两个主要任务:如何利用计算机来改进图像的品质以便于人类视觉分析;对图像数据进行存储、传输和表示,便于计算机自动化处理。图像处理的范畴是一个受争论的话题,因此也产生了其他的领域比如图像分析和计算机视觉等等。

1 数字图像处理主要技术概述 不论图像处理是基于什么样的目的,一般都需要通过利用计算机图像处理对输入的图像数据进行相关的处理,如加工以及输出,所以关于数字图像处理的研究,其主要内容可以分为以下几个过程。图像获取:这个过程基本上就是把模拟图像通过转换转变为计算机真正可以接受的数字图像,同时,将数字图像显示并且体现出来(例如彩色打印)。数据压缩和转换技术:通过数据压缩和数据转换技术的研究,减少数据载体空间,节省运算时间,实现不同星系遥感数据应用的一体化。图像分割:虽然国内外学者已提出很多种图像分割算法,但由于背景的多变性和复杂性,至今为止还没有一种能适用于各种背景的图像分割算法。当前提出的小波分析、模糊集、分形等新的智能信息处理方法有可能找到新的图像分割方法。图像校正:在理想情况下,卫星图像上的像素值只依赖于进入传感器的辐射强度;而辐射强度又只与太阳照射到地面的辐射强度和地物的辐射特性(反射率和发射率)有关,使图像上灰度值的差异直接反映了地物目标光谱辐射特性的差异,从而区分地物目标。图像复原,以图像退化的数学模型为基础,来改善图像质量表达与描述,图像分割后,输出分割标记或目标特征参数;特征提取:计算描述目标的特征,如目标的几何形状特征、统计特征、矩特征、纹理特征等。图像增强:显示图像中被模糊的细节。或是突出图像中感兴趣的特征。图像识别:统计模式识别、模糊模式识别、人工神经网络等。

数字图像处理技术应用课程报告

集中稀疏表示的图像恢复 董伟胜中国西安电子科技大学电子工程学院wsdong@https://www.wendangku.net/doc/f019211750.html, 张磊香港理工大学计算机系cslzhang@https://www.wendangku.net/doc/f019211750.html,.hk 石光明中国西安电子科技大学电子工程学院gmshi@https://www.wendangku.net/doc/f019211750.html, 摘要 本文对于图像恢复任务提出了一种新的称为集中稀疏表示(CSR)的稀疏表示模型。为了重建高还原度的图像,通过给定的字典,退化图像的稀疏编码系数预计应该尽可能接近那些未知的原始图像。然而,由于可用的数据是原始图像的退化版本(如噪声、模糊和/或者低采样率),正如许多现有的稀疏表示模型一样,如果只考虑局部的稀疏图像,稀疏编码系数往往不够准确。为了使稀疏编码更加准确,通过利用非局部图像统计,引入一个集中的稀疏性约束。为了优化,局部稀疏和非局部稀疏统一到一个变化的框架内。大量的图像恢复实验验证了我们的CSR模型在以前最先进的方法之上取得了令人信服的改进。 1、介绍 图像恢复(IR)目的是为了从,比如说通过一个低端摄像头或者在有限条件下得到图像的图像退化版本(例如噪声、模糊和/或者低采样率),来恢复一副高质量的图像。对于观察的图像y,IR问题可以表示成: y = Hx + v (1) 其中H是一个退化矩阵,x是原始图像的矢量,v是噪声矢量。由于IR的病态特性,尝试把观察模型和所需解决方案的先验知识合并到一个变分公式的正则化技术,已经被广泛地研究。对于正则方法,对自然图像适当的先验知识进行寻找和建模是最重要的关注点之一,因此学习自然图像先验知识的各种方法已经被提出来了【25,5,6,12】。 近年来,对于图像恢复基于建模的稀疏表示已经被证明是一种很有前途的模型【9,5,13,20,16,21,27,15,14】。在人类视觉系统【23,24】的研究中,已经发现细胞感受区域使用少量的从一个超完备的编码集中稀疏选出的结构化基元来编码自然图像。在数学上,一个x ∈ R N的信号可以表示为一个字典Φ中的几个原子的线性组合,例如,X ≈Φα,用|0 最小化:

数字图像处理程序

数字图像处理程序

数字图像处理实验 图像处理实验(一)直方图 灰度变换是图像增强的一种重要手段,使图像对比度扩展,图像更加清晰,特 征更加明显。 灰度级的直方图给出了一幅图像概貌的描述,通过修改灰度直方图来得到图像 增强。 1、灰度直方图 (1)计算出一幅灰度图像的直方图 clear close all I=imread('004.bmp'); imhist(I) title('实验一(1)直方图'); (2)对灰度图像进行简单的灰度线形变换, figure subplot(2,2,1) imshow(I); title('试验2-灰度线性变换'); subplot(2,2,2) histeq(I); (3)看其直方图的对应变化和图像对比度的变化。 原图像 f(m,n) 的灰度范围 [a,b] 线形变换为图像 g(m,n),灰度范围[a’,b’]公式:g(m,n)=a’+(b’-a’)* f(m,n) /(b-a) figure subplot(2,2,1) imshow(I) J=imadjust(I,[0.3,0.7],[0,1],1); title(' 实验一(3)用g(m,n)=a’+(b’-a’)* f(m,n) /(b-a)进行变换 '); subplot(2,2,2) imshow(J) subplot(2,2,3) imshow(I) J=imadjust(I,[0.5 0.8],[0,1],1); subplot(2,2,4) imshow(J) (4) 图像二值化(选取一个域值,(5) 将图像变为黑白图像) figure subplot(2,2,1)

数字图像处理——彩色图像实验报告

6.3实验步骤 (1)对彩色图像的表达和显示 * * * * * * * * * * * *显示彩色立方体* * * * * * * * * * * * * rgbcube(0,0,10); %从正面观察彩色立方体 rgbcube(10,0,10); %从侧面观察彩色立方 rgbcube(10,10,10); %从对角线观察彩色立方体 %* * * * * * * * * *索引图像的显示和转换* * * * * * * * * * f=imread('D:\Picture\Fig0604(a)(iris).tif'); figure,imshow(f);%f是RGB真彩图像 %rgb图像转换成8色索引图像,不采用抖动方式 [X1,map1]=rgb2ind(f,8,'nodither'); figure,imshow(X1,map1); %采用抖动方式转换到8色索引图像 [X2,map2]=rgb2ind(f,8,'dither'); figure,imshow(X2,map2); %显示效果要好一些 g=rgb2gray(f); %f转换为灰度图像 g1=dither(g);%将灰色图像经过抖动处理,转换打二值图像figure,imshow(g);%显示灰度图像 figure,imshow(g1);%显示抖动处理后的二值图像 程序运行结果:

彩色立方体原图 不采用抖动方式转换到8色索引图像采用抖动方式转换到8色索引图像 灰度图像抖动处理后的二值图像

(2)彩色空间转换 f=imread('D:\Picture\Fig0604(a)(iris).tif'); figure,imshow(f);%f是RGB真彩图像 %转换到NTSC彩色空间 ntsc_image=rgb2ntsc(f); figure,imshow(ntsc_image(:,:,1));%显示亮度信息figure,imshow(ntsc_image(:,:,2));%显示色差信息figure,imshow(ntsc_image(:,:,3));%显示色差信息 %转换到HIS彩色空间 hsi_image=rgb2hsi(f); figure,imshow(hsi_image(:,:,1));%显示色度信息figure,imshow(hsi_image(:,:,2)); %显示饱和度信息figure,imshow(hsi_image(:,:,3));%显示亮度信息 程序运行结果: 原图 转换到NTSC彩色空间

数字图像处理论文

华东交通大学理工学院课程设计报告书 所属课程名称数字图像处理期末论文分院电信分院专业班级14 计科 学号20140210440214 学生姓名习俊 指导教师熊渊 2016 年12 月13 日

摘要 数字图像处理是用计算机对图像信息进行处理的一门技术,主要是为了修改图形,改善图像质量,或是从图像中提起有效信息,还有利用数字图像处理可以对图像进行体积压缩,便于传输和保存。本文论述了用Matlab编程对数字图像进行图像运算的基本方法。图像运算涵盖了MA TLAB程序设计、图像点运算、代数运算、几何运算等基本知识及其应用(点运算是图象处理的一个重要运算)。以及对图像加入噪声、图像缩放和图像旋转。 关键词图像点运算;代数运算;几何运算;图像缩放;图像旋转

目录 绪论 第一章图像运算 2.1点运算 2.2代数运算 2.3几何运算 第二章程序设计与调试 结束语 参考文献

绪论 早期的计算机无论在计算速度或存储容量方面,难于满足对庞大图像数据进行实时处理的要求。随着计算机硬件技术及数字化技术的发展,计算机、内存及外围设备的价格急剧下降,而其性能却有了大幅度的提高。 图像信息是人类获得外界信息的主要来源,数字图像处理技术越来越多的应用于人们日常工作、学习和生活中。和传统图像处理相比,它具有精度高、再观性好、通用性和灵活性强等特点。在近代科学研究、军事技术、工农业生产、医学、气象及天文学等领域中也得到了广泛应用。 近几年来,随着计算机和各个相关领域研究的迅速发展,科学计算可视化、多媒体技术等研究和应用的兴起,数字图像处理从1个专门领域的学科,变成了1种新型的科学研究和人机界面的工具。数字图像作为一门新兴技术,它是二十一世纪五十年代数字计算机发展到相当水平后开拓出来的计算机应用新领域,它把图像转换成数据矩阵存放于计算机中,并进行滤波、增强、删除等处理,包括图像输入输出技术、图像分析、变换于处理技术以及图像识别和特征提取等方面。六十到七十年代数字处理技术的理论和方法更加完善,其准确性、灵活性和通用性逐步提高。 在日常生活中,电脑人像艺术,电视中的特殊效果,自动售货机钞票的识别,邮政编码的自动识别和利用指纹、虹膜、面部等特征的身份识别等均是图像处理的广泛应用。 进行数字图像处理时主要涉及数字图像点运算处理,针对图像的像素进行加、减、乘、除等运算,有效地改变了图像的直方图分布。

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

数字图像处理 课程设计报告 课设题目:彩色图像增强软件学院:信息科学与工程学院专业:电子与信息工程 班级: 1002501 姓名:曾小路 学号: 100250131 指导教师:赵占峰 哈尔滨工业大学(威海) 2013 年12月27日

目录 目录 .......................................................................................................................... I 一. 课程设计任务 (1) 二. 课程设计原理及设计方案 (2) 2.1 彩色图像基础 (2) 2.2 彩色模型 (2) 三. 课程设计的步骤和结果 (6) 3.1 采集图像 (6) 3.2 图像增强 (7) 3.3 界面设计 (9) 四. 课程设计总结 (12) 五. 设计体会 (13) 六. 参考文献 (14)

哈尔滨工业大学(威海)课程设计报告 一. 课程设计任务 1.1设计内容及要求: (1)、独立设计方案,根据所学知识,对由于曝光过度、光圈过小或图像亮度不均匀等情况下的彩色图像进行增强,提高图像的清晰度(通俗地讲,就是图像看起来干净、对比度高、颜色鲜艳)。 (2)、参考photoshop 软件,设计软件界面,对处理前后的图像以及直方图等进行对比显示; (3)、将实验结果与处理前的图像进行比较、分析。总结设计过程所遇到的问题。 1.2参考方案 1、实现图像处理的基本操作 学习使用matlab 图像处理工具箱,利用imread()语句读入图像,例如image=imread(flower.jpg),利用彩色图像模型转换公式,将RGB 类型图像转换为HSI 类型图像,显示各分量图像(如imshow(image)),以及计算和显示各分量图像直方图。 2、彩色图像增强实现 对HSI彩色模型图像的I分量进行对比度拉伸或直方图均衡化等处理,提高亮度图像的对比度。对S分量图像进行适当调整,使图像色彩鲜艳或柔和。 H 分量保持不变。将处理后的图像转换成RGB 类型图像,并进行显示。分析处理图像过程和结果存在的问题。 3、参照“photoshop”软件,设计图像处理软件界面 可设计菜单式界面,在功能较少的情况下,也可以设计按键式界面,视 功能多少而定;参考matlab 软件中GUI 设计,学习软件界面的设计 - 1 -

数字图像处理实验

《数字图像处理》 实验报告 学院:信息工程学院 专业:电子信息工程 学号: 姓名: 2015年6月18日

目录 实验一图像的读取、存储和显示 (2) 实验二图像直方图分析 (6) 实验三图像的滤波及增强 (15) 实验四噪声图像的复原 (19) 实验五图像的分割与边缘提取 (23) 附录1MATLAB简介 (27)

实验一图像的读取、存储和显示 一、实验目的与要求 1.熟悉及掌握在MATLAB中能够处理哪些格式图像。 2.熟练掌握在MATLAB中如何读取图像。 3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。 4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。 5.图像的显示。 二、实验原理 一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。图像关于x和y坐标以及振幅连续。要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。将坐标值数字化成为取样;将振幅数字化成为量化。采样和量化的过程如图1所示。因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。 三、实验设备 (1) PC计算机 (2) MatLab软件/语言包括图像处理工具箱(Image Processing Toolbox) (3) 实验所需要的图片 四、实验内容及步骤 1.利用imread( )函数读取一幅图像,假设其名为flower.tif,存入一个数组中; 2.利用whos 命令提取该读入图像flower.tif的基本信息; 3.利用imshow()函数来显示这幅图像; 4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息; 5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件设为flower.jpg语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。 6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flower.bmp。 7.用imread()读入图像:Lenna.jpg 和camema.jpg; 8.用imfinfo()获取图像Lenna.jpg和camema.jpg 的大小;

相关文档
相关文档 最新文档