通信工程图像处理实验报告.docx

上传人:b****6 文档编号:7307680 上传时间:2023-01-22 格式:DOCX 页数:43 大小:1.60MB
下载 相关 举报
通信工程图像处理实验报告.docx_第1页
第1页 / 共43页
通信工程图像处理实验报告.docx_第2页
第2页 / 共43页
通信工程图像处理实验报告.docx_第3页
第3页 / 共43页
通信工程图像处理实验报告.docx_第4页
第4页 / 共43页
通信工程图像处理实验报告.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

通信工程图像处理实验报告.docx

《通信工程图像处理实验报告.docx》由会员分享,可在线阅读,更多相关《通信工程图像处理实验报告.docx(43页珍藏版)》请在冰豆网上搜索。

通信工程图像处理实验报告.docx

通信工程图像处理实验报告

 

学生实验报告书

 

实验课程

数字图像处理

学院

信息工程学院

班级

姓名

指导教师

聂明新

学号

 

2013

6

10

实验一.图像增强

1.实验目的

1.图像增强是数字图像处理的基本内容之一,通过该试验了解图像增强的方法。

2.图像增强的目的是为了某种应用目的去改善图像质量

2.实验原理

2.1.图像增强原理

图像增强方法从增强的作用域出发,可分为空间域增强和频率域增强两种。

频率域方法在图像的某个频率域中对变换系数进行处理,然后通过逆变换获得增强图像。

空间域方法对图像进行点运算,是一种既简单又重要的图像处理技术,它能让用户改变图像上像素点的灰度值,这样通过点运算处理将产生一幅新图像。

2.2.图像增强方法

图像增强方法从增强的作用域出发可分为空间域增强和频率域增强两种。

常见的图像增强方法有:

对比度增强法、直方图均衡化、平滑噪声和锐化等。

我们在这里选择直方图均衡化。

直方图均衡化是将原图像通过某种变换,得到一幅灰度直方图为均匀分布的新图像的方法。

直方图均衡化算法是图像增强空域法中的最常用、最重要的算法之一。

它以概率理论作基础,运用灰度点运算来实现直方图的变换,从而达到图像增强的目的。

这些方法是不以图像保真为原则的,它们是通过增强处理设法有选择地突出某些对人或机器分析感兴趣地信息,抑制一些无用信息,以提高图像地使有价值。

在实际应用中,应针对不同的图像应采用不同的图像增强方法,或同时采用几种适当的增强算法进行实验,从中选出视觉效果较好的、计算不复杂的、又合乎应用要求的一种算法。

2.3.直方图均衡化的原理

为了改善图像质量,可以对灰度分布进行变换改变,其中一种方法称为直方图均衡化处理。

直方图均衡化处理是以累积分布函数变换法为基础的直方图修正法。

假定变换函数为式中ω是积分变量,而T(r)就是r的累积分布函数。

这里,累积分布函数是r的函数,并且单调地从0增加到1,所以这个变换函数满足T(r)在0≤r≤1内单值单调增加。

可以证明,用r的累积分布函数作为变换函数可产生一幅灰度级分布具有均匀概率密度的图像。

其结果扩展了像素取值的动态范围。

通常把为得到均匀直方图的图像增强技术叫做直方图均衡化处理或直方图线性化处理。

用离散形式表示累积分布函数为:

 

2.4.直方图均衡化步骤

2.4.1列出原始图像灰度级fj,j=0,1,…,k,…,L-1;

2.4.2统计各灰度级的象素数目,nj,j=0,1,,…,k,…,L-1;

2.4.3计算原始图像直方图Pf(fj)=nj/n,n为原始图像总的象素数目;

2.4.4计算累积分布函数c(f);

2.4.5应用转移函数,计算映射后的灰度级,gi=INT[(gmax-gmin)c(f)+gmin+0.5]

2.4.6统计映射后各灰度级的象素数目ni,i=0,1,…,p-1;

2.4.7计算输出图像直方图Pg(gi)=nj/n,i=0,1,…,p-1;

2.4.8用fj和gi的映射关系,修改原始图像灰度级,获得直方图近似均匀分布的输出图像。

3.实验内容

3.1.图像直方图:

灰度级直方图是一种统计表达,他反映了该图中的不同灰度级出现的统计概率

3.2.计算出一幅灰度图象的直方图;

clear

closeall

I=imread(‘D:

\ProgramFiles\MATLAB\R2008a\toolbox\images\imdemos\Cameraman.bmp’);

imhist(I)

title('实验一

(1)直方图')

3.3.对灰度图像进行简单的灰度线形变换

原图像f(m,n)的灰度范围[a,b];线形变换为图像g(m,n),灰度范围[a’,b’];公式:

g(m,n)=a’+(b’-a’)*f(m,n)/(b-a)

灰度变换是图像增强的重要方法之一,它不改变图像内的空间关系,可使图像动态范围增大,对比度得到扩展,使图像特征明显,更加清晰。

可表示为:

根据变换函数的形式,灰度变换分为线性变换,分段性变换和非线性变换。

假定图像f(m,n)的灰度范围为[a,b],变换后的图像g(m,n)的灰度范围线性的扩展至[a’,b’],其数学表达式如下:

 

clear

closeall

I=imread('D:

\ProgramFiles\MATLAB\R2008a\toolbox\images\imdemos\Cameraman.bmp');figure

subplot(2,2,1)

imshow(I);

title('试验2-灰度线性变换');

subplot(2,2,2)

histeq(I);

clear

closeall

I=imread('D:

\ProgramFiles\MATLAB\R2008a\toolbox\images\imdemos\Cameraman.bmp');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.50.8],[0,1],1);

subplot(2,2,4)

imshow(J)

3.4.图像二值化(选取一个域值,将图像变为黑白图像)

figure

subplot(2,2,1)

imshow(I)

J=find(I<150);

I(J)=0;

J=find(I>=150);

I(J)=255;

title('实验一(4)图像二值化(域值为150)');

subplot(2,2,2)

imshow(I)

clc;

I=imread('14499.jpg');

bw=im2bw(I,0.5);%选取阈值为0.5

figure;

imshow(bw)%显示二值图象

3.5利用直方图均衡化进行图像增强

PS=imread('1.jpg');             %读入JPG彩色图像文件

imshow(PS)                %显示出来

title('输入的彩色JPG图像')

imwrite(rgb2gray(PS),'PicSampleGray.bmp');%将彩色图片灰度化并保存

PS=rgb2gray(PS);          %灰度化后的数据存入数组

%二,绘制直方图

[m,n]=size(PS);                            %测量图像尺寸参数

GP=zeros(1,256);                           %预创建存放灰度出现概率的向量

fork=0:

255

GP(k+1)=length(find(PS==k))/(m*n);     %计算每级灰度出现的概率,将其存入GP中相应位置

end

figure,bar(0:

255,GP,'g')         %绘制直方图

title('原图像直方图')

xlabel('灰度值')

ylabel('出现概率')

%三,直方图均衡化

S1=zeros(1,256);

fori=1:

256

    forj=1:

i

         S1(i)=GP(j)+S1(i);                %计算Sk

    end

end

S2=round((S1*256)+0.5);                         %将Sk归到相近级的灰度

fori=1:

256

    GPeq(i)=sum(GP(find(S2==i)));          %计算现有每个灰度级出现的概率

end

figure,bar(0:

255,GPeq,'b')                 %显示均衡化后的直方图

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

xlabel('灰度值')

ylabel('出现概率')

%四,图像均衡化

PA=PS;

fori=0:

255

    PA(find(PS==i))=S2(i+1);               %将各个像素归一化后的灰度值赋给这个像素

end

figure,imshow(PA)                          %显示均衡化后的图像

title('均衡化后图像')

imwrite(PA,'PicEqual.bmp');

实验图像:

Cameraman.bmp、

 

四.实验结果及分析

 

在曝光不足或过度的情况下,图像灰度可能会局限在一个很小的范围内。

这时在显示器上看到的将是一个模糊不清、似乎没有灰度层次的图像。

采用线性变换对图像每一个像素灰度作线性拉伸,可有效地改善图像视觉效果。

这种线性变换使灰度小于a和灰度大于b的像素灰度强度强行变换成a’和b’,增强了图像中绝大多数像素的灰度层次感。

.

 

 

实验二:

图像变换

1.实验目的

1.1傅立叶变换:

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

1.2DCT变换:

熟悉其概念和原理,实现对一幅图像做离散余弦变换,选择适当的DCT系数阈值对其进行DCT反变换;

2.实验原理

2.1.离散傅立叶变换

傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。

通过实验培养这项技能,将有助于解决大多数图像处理问题。

对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。

图象是由灰度(RGB)组成的二维离散数据矩阵,则对它进行傅立叶变换是离散的傅立叶变换。

对图像数据f(x,y)(x=0,1,…,M-1;y=0,1,…,N-1)。

则其离散傅立叶变换定义可表示为:

 

式中,u=0,1,…,M-1;v=0,1,…,N-1

其逆变换为

 

式中,x=0,1,…,M-1;y=0,1,…,N-1

在图象处理中,一般总是选择方形数据,即M=N

影像f(x,y)的振幅谱或傅立叶频谱:

相位谱:

能量谱(功率谱)

2.2.快速傅里叶变化

可分离性的优点是二维的傅立叶变换或逆变换由两个连续的一维傅立叶变换变换来实现,对于一个影像f(x,y),可以先沿着其每一列求一维傅立叶变换,再对其每一行再求一维变换

正变化

 

逆变换

由于二维的傅立叶变换具有可分离性,故只讨论一维快速傅立叶变换.

正变换

逆变换

由于计算机进行运算的时间主要取决于所用的乘法的次数。

按照上式进行一维离散由空间域向频率域傅立叶变换时,对于N个F(u)值,中的每一个都要进行N次运算,运算时间与N2成正比。

3.实验内容及结果分析

3.1傅立叶变换

步骤如下:

clc

I=imread('D:

\ProgramFiles\MATLAB\R2008a\toolbox\images\imdemos\lena.bmp');

subplot(2,2,1)

imshow(I);

title('原图');

J=fft2(I);

subplot(2,2,2)

imshow(J);

title('fft变换图');

%figure;

K=fftshift(J);

subplot(2,2,3)

imshow(K);

title('原点移至频谱中心');

%figure;

结果如下:

3.2离散余弦变换

熟悉其概念和原理,实现对一幅灰度和彩色图像作的离散余弦变换,选择适当的DCT系数阈值对其进行DCT反变换.

步骤如下:

clc

loadimdemos;

i=imread('D:

\ProgramFiles\MATLAB\R2008a\toolbox\images\imdemos\lena.bmp

');

subplot(2,2,1);

imshow(i);

title('原始图象');

j=rgb2gray(i);

subplot(2,2,2);

imshow(j);

title('黑白化后的图像');

%图象的DCT变换

 

b=dct2(j);

subplot(2,2,3)

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

title('DCT变换结果');

%figure;

b(abs(b)<10)=0;

%idct

c=idct2(b)/255;

subplot(2,2,4)

imshow(c);

title('IDCT变换结果');

结果如下:

 

4.实验小结

DFT是离散傅里叶变换,针对的是离散的信号和频谱。

DFT是DTFT变化而来,其实就是将连续时间t变成了nT.为什么要这样做呢,因为计算机是在数字环境下工作的,它不可能看见或者处理现实中连续的信号,只能够进行离散计算,在真实性上尽可能地逼近连续信号。

所以DFT是为了我们能够去用工具分析信号而创造出来的,通常我们直接用DTFT的机会很少。

DCT是DFT的一种形式。

所谓“余弦变换”,是在DTFT傅立叶级数展开式中,如果被展开的函数是实偶函数,那么其傅立叶级数中只包含余弦项,再将其离散化(DFT)可导出余弦变换,因此称之为离散余弦变换(DCT)。

其实DCT属于DFT的一个子集。

通过dct反变换重构的图像,看上去有点模糊,失真明显。

实验三:

图像分割

1.实验目的

1.1学习边缘检测,及如何对图像进行分割。

1.2学习运用双峰法对图像进行分割,分析理解分割的含义。

2.实验内容

学习边缘检测,学习灰度阀值分割。

分别用sobel、Laplacian-Gaussian方法对一幅灰度图像进行边缘提取,具体程序如下:

clear

closeall

i=imread('D:

\Program Files\MATLAB\R2008a\toolbox\images\imdemos\lena.bmp');

ii=rgb2gray(i);

figure;

subplot(2,2,1);

imshow(ii);

title('原始图像');

subplot(2,2,3);

imshow(ii);

title('原始图像');

i1=edge(ii,'sobel');

subplot(2,2,2);

imshow(i1);

title('sober方法提取的边缘');

i2=edge(ii,'log');

subplot(2,2,4);

imshow(i2);

title('Laplacian-Gaussian方法提取的边缘');

 

clear

closeall

i=imread('D:

\Program Files\MATLAB\R2008a\toolbox\images\imdemos\lena.bmp');

ii=rgb2gray(i);

subplot(1,2,1);

imhist(ii);

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

thread=130/255;

subplot(1,2,2);

i3=im2bw(ii,thread);

imshow(i3);

title('分割结果');

 

4.实验小结

通过这次试验,我理解了图像分割的技术,理解了一些图像分割的思想和理念。

主要就是对像素的一些分析和分类。

根据原图像的直方图,发现背景和目标的分割值大约在130左右,并将灰度图像转为二值图像,分割效果比较理想。

由于Sobel算子是滤波算子的形式,用于提取边缘,可以利用快速卷积函数,简单有效。

在技术上,它是一离散性差分算子,用来运算图像亮度函数的梯度之近似值。

在图像的任何一点使用此算子,将会产生对应的梯度矢量或是其法矢量Laplace算子首先通过高斯函数对图像进行平滑处理,因此对噪声的抑制作用比较明显,但同时也可能将原有的边缘也平滑了,造成某些边缘无法检测到,。

此外高斯分布因子σ的选择对图像边缘检测效果有较大的影响。

σ越大,检测到的图像细节越丰富,但抗噪能力下降,从而出现伪边缘,反之则抗噪能力提高,但边缘检测精度下降,易丢失许多真边缘,因此,对于不同图像应选择不同参数。

 

实验四:

实现JPEG的压缩和编码

1.实验目的

实现基本JPEG的压缩和matlab编码

2实验原理:

分块采样:

JPEG压缩首先是对图像(实验中用的是灰度图像)的每一帧中各分量信号进行单独采样。

采样时,当一帧图像信号输入到编码器时,编码器立即将其进行分解处理,这称为帧改组。

在帧改组中,首先得到16*16个采样点的宏区块,然后再得到8*8个采样点的像块。

FDCT变换:

经过帧重组和采样,视频图像的各分量信号变为一个8*8的样值矩阵,再经过离散余弦变换。

它是一种傅里叶变换,任何连续的实对称函数,采用傅里叶变换后,就只含余弦项。

量化:

经过DCT变换后的F矩阵中的各DCT系数间的相关性已经显现出来,即左上角的系数值大,而右下角的系数值小。

这样,进行量化后,增加右下角的“0”值系数,从而进一步提高F矩阵的相关性,为数据压缩进一步提供了条件。

这种量化也就是按照某种要求将F矩阵中的各系数值按不同的比例减小,显然量化是图像质量下降的最主要原因。

Zig-Zag扫描:

Zig-Zag扫描采用的是Z字形扫描方式,这主要是因为,在量化后的DCT系数矩阵中,非0的数据主要都集中于矩阵的左上角。

哈夫曼编码(HuffmanCoding)是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。

uffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫作Huffman编码。

哈夫曼压缩是个无损的压缩算法,一般用来压缩文本和程序文件。

哈夫曼压缩属于可变代码长度算法一族。

意思是个体符号(例如,文本文件中的字符)用一个特定长度的位序列替代。

因此,在文件中出现频率高的符号,使用短的位序列,而那些很少出现的符号,则用较长的位序列。

 

3.实验内容:

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

2.1.1.首先通过DCT变换去除数据冗余;

2.1.2使用量化表对DCT系数进行量化;

2.1.3对量化后的系数进行Huffman编码。

2.2.具体源程序由主程序及五个子程序(zigza扫描、DC和ACT量化、Huffman编码)组成:

1.主程序

I=imread('D:

\ProgramFiles\MATLAB\R2008a\toolbox\images\imdemos\lena.bmp');

yiq=rgb2ntsc(I);%transformRGBtoNTSC

 

my=[1611101624405161;

1212141926586055;

1413162440576956;

1417222951878062;

182237566810910377;

243555648110411392;

49647887103121120101;

7292959811210010399];

 

miq=[1718244799999999;

1821266699999999;

2426569999999999;

4766999999999999;

9999999999999999;

9999999999999999;

9999999999999999;

9999999999999999];

 

C=dctmtx(8);%生成标准DCT变化中的矩阵(8×8)。

...DCT变换公式:

正变换:

Y=CPC';逆变换:

P=C'YC;

I1=yiq(:

:

1);%亮度信号

I2=yiq(:

:

2);%色差信号

[mn]=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;

fork=0:

ti1-2

forj=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)%色差信号的编码序列

2.Dct8x8子程序

functionI=dct8x8(P,m)%定义DCT量化子程序

C=dctmtx(8);%生成标准DCT变化中的矩阵(8×8)。

...DCT变换公式:

正变换:

Y=CPC';逆变换:

P=C'YC;

K=C*P*C';

K=K./m;%量化

K(abs(K)<0.03)=0;

I=K;

3.AC和DC

functionImageBitSeq=AC_DC(CoefAfterQ)

[Row,Col]=size(CoefAfterQ);

BlockNumber=Row*Col/64;%%8*8分块数

%%把CoefAfterQ分成8*8的块得分块矩阵CoefBlock(三维)

m=0;

forrow=1:

Row/8

forcol=1:

Col/8

m=m+1;

CoefBlock(:

:

m)=CoefAfterQ(((row-1)*8+1):

(row*8),((col-1)*8+1):

(col*8));

end

end

m;

%%把量化后各个分块的DC系数存放到行矩阵DC中

DC(m)=0;

fori=1:

m

DC(i)=CoefBlock(1,1,i);

end

DC;

%%求由各个DC系数的差值组成的行矩阵DCdif

DCdif(BlockNumber)=0;

DCdif

(1)=DC

(1);

fori=2:

BlockNumber

DCdif(i)=DC(i)-DC(i-1);

end

DCdif;

%%用行矩阵DCdif中的差值替换原来系数矩阵CoefBlock中各个分块的DC系数

m=0;

fori=1:

Row/8

forj=1

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

当前位置:首页 > PPT模板 > 简洁抽象

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1