实验1 图像直方图分析

实验1 图像直方图分析
实验1 图像直方图分析

实验1 图像直方图分析

模式识别与智能系统王衍平 2010043003

1 实验目的

本试验通过MATLAB编程,获取一幅RGB图像的灰度直方图信息,并根据灰度直方图获得图像中的像素亮度的分布情况。

2 实验步骤

(1)使用imread函数读取一幅RGB图像,并输出显示该图像;

(2)使用size函数获取该图像的大小,然后分离三个颜色通道;

(3)分别输出显示R、G、B三个颜色通道的图像;

(4)分别绘制R、G、B三个颜色通道的灰度直方图;

(5)绘制RGB三个颜色通道的灰度直方图于一幅图像中。

3 MATLAB程序代码

I=imread('D:\数字图像处理实验\001.bmp');

% 若果不是RGB图像,报错

if(size(I,3)~=3)

error('rgbhist:numberOfSamples','Input image must be RGB.')

end

figure(1),imshow(I);

title('原RGB图像');

S=size(I); % Size of array file.

H=reshape(I,S(1)*S(2),S(3)); % 将每个颜色通道变为一列

H=double(H); % Convert to double precision.

nHist=2^8-1;

figure(2),imshow(I(:,:,1)); % 显示R通道上的图像

title('R通道上的图像');

figure(3),imshow(I(:,:,2)); % 显示G通道上的图像

title('G通道上的图像');

figure(4),imshow(I(:,:,3)); % 显示B通道上的图像

title('B通道上的图像');

figure(5),imhist(I(:,:,1),nHist); % 绘制图像R通道上的灰度直方图

title('R通道上的灰度直方图');

figure(6),imhist(I(:,:,2),nHist); % 绘制图像R通道上的灰度直方图

title('G通道上的灰度直方图');

figure(7),imhist(I(:,:,3),nHist); % 绘制图像R通道上的灰度直方图

title('B通道上的灰度直方图');

figure(8)

[N,X]=hist(H,[0:1:255]); % 绘制RGB图像的R、G、B通道上的灰度直方图

bar(X,N(:,[3 2 1]));

xlim([0 255]) % X limits.

hold on

plot(X,N(:,[3 2 1])); % 上边界轮廓

title('RGB图像的R、G、B通道上的灰度直方图');

hold off

4 实验结果与分析

通过观察R、G、B三个颜色通道的灰度直方图可知,原图像的像素灰度值大部分集中在亮区,一般在摄影中曝光太弱将会导致这种结果。

应用FFT对信号进行频谱分析实验报告

实验 应用FFT 对信号进行频谱分析 一、实验目的 1、在理论学习的基础上,通过本次实验,加深对快速傅里叶变换的理解,熟悉FFT 算法及其程序的编写。 2、熟悉应用FFT 对典型信号进行频谱分析的方法。 3、了解应用FFT 进行新红啊频谱分析过程中可呢个出现的问题,以便在实际中正确应用FFT 。 二、实验原理 一个连续信号()a x t 的频谱可以用它的傅里叶变换表示为: ()()j t a a X j x t e dt +∞ -Ω-∞Ω=? (2-1) 如果对信号进行理想采样,可以得到离散傅里叶变换: ()()j n X e x n z ω +∞ --∞=∑ (2-2) 在各种信号序列中,有限长序列在数字信号处理中占有很重要的。无限长的序列往往可以用有限长序列来逼近。对于有限长的序列我们可以使用离散傅里叶变换(DFT ),这一序列可以很好的反应序列的频域特性,并且容易利用快速算法在计算机上实现当序列的长度是N 时,我们定义离散傅里叶变换为: 1 0()[()]()N kn N n X k DFT x n x n W -===∑ (2-3) DFT 是对序列傅里叶变换的灯具采样,因此可以用于序列的频谱分析。在利用DFT 进行频谱分析的时候可能有三种误差: (1)混叠现象 序列的频谱是采样信号频谱的周期延拓,周期是2/T π,因此当采样频率不满足奈奎斯特定理,即采样频率1/s f T =小于两倍的信号频率时,经过采样就会发生频谱混叠。这导致采样后的信号序列不能真实的反映原信号的频谱。 (2)泄漏现象 泄漏是不能和混叠完全分开的,因为泄漏导致频谱的扩展,从而造成混淆。为了减小混淆的影响,可以选择适当的窗函数使频谱的扩散减到最小。 (3)栅栏效应 因为DFT 是对单位圆上Z 变换的均匀采样,所以它不可能将频谱视为一个连续的函数。这样就产生了栅栏效应。减小栅栏效应的一个方法是在源序列的末端补一些零值,从而变动DFT 的点数。 三、实验内容和结果 1、观察高斯序列的时域和频域特性 (1)固定高斯序列()a x n 中的参数p=8,当q 为2,4,8时其时域和幅频特性分别如图 2.1,图2.2所示:

基于颜色直方图的图像检索(实验分析)

基于颜色直方图的图像检索 作者:吴亚平学号:200812017081203009 1.概述 在过去的十几年间,有许多知名机构都对图像检索系统进行了深入的研究,病开发出了相应的检索系统,例如IBM Almaden研究中心研制的QBIC系统,Virage公司研发的VIRAGE系统,麻省理工大学多媒体实验室研发的Photobook系统,哥伦比亚大学研发的VisualSeek系统,斯坦福大学研发的WBIIS系统,U.C.伯克利分校研发的Blobworld系统等等。 这些检索系统的基本特征都是基于图像像素值的特征提取相应的规则图像,例如形状、颜色、纹理等,并以此为依据对图像进行比较检索,在这篇论文中,系统采用了基于颜色特征提取的检索。基于直方图在两个颜色空间对图像特征进行判定检索。这两个颜色空间是RGB和HSV。通过对两副图像对应的RGB和HSV 值计算其距离,依据距离的远近来判断相似性,这种方法简单易行,由于丢弃了图像的形状、颜色、纹理等信息,判定的计算量相对较小。当然这也导致了两副图像之间的判定没有实际的语义上的关联,也就是说,距离相近的图像并不一定有事实上的相应联系。但是,经过试验的判定,这种基于直方图的图像检索系统能够为图片检索提供相对精确的检索结果。 2.相关知识 2.1. RGB颜色空间 RGB颜色模型中每种颜色都是由红绿蓝三种颜色组成。这种颜色模型在许多CRT显示器和彩色光栅图形设备中被广泛使用。这三种颜色被认为是其他颜色的

添加剂,对于所需要的颜色通过对这三种颜色进行不同的比例进行相加即可得到。RGB模型可以用如下的颜色坐标系表示。注意从(0,0,0)到(1,1,1)的对角线,白色代表了灰阶,RGB色彩模式俯视从白色开始的。 2.2. HSV颜色空间(也称HIS颜色空间) HSV字母分别代表了色度(Hue),饱和度(Saturation),色调。上面的锥形图说明HSV的颜色模型。Value代表了颜色的强度,他是从图像信息中分离出来,可以表示相关信息的部分。色度和饱和度代表了颜色在人眼中的生理特征。色度与红色等颜色从0到1的表示不同,色度是从红色通过黄,绿,青,蓝,洋红色,再回到红色。饱和度的区分是从0 到 1,他通过值大小来影响颜色的饱和度。对于色调,也是从0到1,随着他的增大,图像的颜色就会越来越亮。

用FFT对信号作频谱分析 实验报告

实验报告 实验三:用FFT 对信号作频谱分析 一、 实验目的与要求 学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT 。 二、 实验原理 用FFT 对信号作频分析是学习数字信号处理的重要内容,经常需要进行分析的信号是模拟信号的时域离散信号。对信号进行谱分析的重要问题是频谱分辨率D 和分析误差。频谱分辨率直接和FFT 的变换区间N 有关,因为FFT 能够实现的频率分辨率是2π/N ,因此要求2π/N 小于等于D 。可以根据此式选择FFT 的变换区间N 。误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N 较大时,离散谱的包络才能逼近连续谱,因此N 要适当选择大一些。 三、 实验步骤及内容(含结果分析) (1)对以下序列进行FFT 分析: x 1(n)=R 4(n) x 2(n)= x 3(n)= 选择FFT 的变换区间N 为8和16两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。 【实验结果如下】: n+1 0≤n ≤3 8-n 4≤n ≤7 0 其它n 4-n 0≤n ≤3 n-3 4≤n ≤7 0 其它 n

实验结果图形与理论分析相符。(2)对以下周期序列进行谱分析: x4(n)=cos[(π/4)*n]

x5(n)= cos[(π/4)*n]+ cos[(π/8)*n] 选择FFT的变换区间N为8和16两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。 【实验结果如下】: (3)对模拟周期信号进行频谱分析: x6(n)= cos(8πt)+ cos(16πt)+ cos(20πt) 选择采样频率Fs=64Hz,FFT的变换区间N为16、32、64三种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。 【实验结果如下】:

灰度图像直方图统计

1.灰度图像直方图统计实习报告 一、实习目的 在学习灰度图像直方图的概念、计算方法、性质和相关应用的基础上,应用Photoshop软件和编写灰度直方图统计程序,能初步掌握图像文件格式读写与图像数据处理,提高学生兴趣和编程能力,巩固所学知识。 二、实习内容 1.实习数据 E:\ 数字图像处理\实习一\Lena.raw 2.利用Photoshop显示图像的灰度直方图,从直方图上了解图像平均明暗度和对比度等信息。 3.要求利用C或C++语言编写灰度图像直方图统计的程序。 三、实习步骤 1.使用Photoshop显示直方图。 (1)点击“文件”-->“打开”,打开一幅图像,此处选取“lena.raw”; (2)点击“图像”-->“直方图”,显示图像的直方图;

(3)对图像做增强处理,例如选择“图像”-->“调整”-->“自动对比度”对图像进行灰度拉伸,然后再显示直方图,观察它的变化。 2.用C或C++编写显示直方图的程序。 具体代码如下: #include "stdio.h" #include "windows.h" void main() { FILE *fp; //文件类指针

fp=fopen("lena.raw","rb"); //打开二进制文件 if (fp==NULL) { printf("文件已损坏,请重新打开。 \n"); } else printf("文件已打开,已经生成.txt文档,请查看。\n"); BYTE PIXEL[512*512]; fread(PIXEL,1,512*512,fp);//二进制文件读取 fclose(fp);//关闭文件 int HistogramStat[256]; for(int i=0;i<256;i++) HistogramStat[i]=0;//赋初值 for (i=0;i<512*512;i++) { int a=PIXEL[i]; HistogramStat[a]++; } //统计像素个数 fp=fopen("灰度直方图.txt","rb"); fprintf(fp,"图像灰度,像素个数\n"); for (i=0;i<256;i++) { if (HistogramStat[i]!=0) fprintf(fp,"%5d,%5d\n",i,HistogramStat[i]); } fprintf(fp,"像素个数为0的已被省略。");//输出内容 } 四、思考题 1灰度直方图可以反映出一幅图像的哪些特性? 答:(1)表征了图像的一维信息。只反映图像中像素不同灰度出现的次数,而未反映像素所在的位置。即丢失了像素的位置信息。 (2)与图像之间的关系式多对一的映射关系。一幅图像唯一确定出与之对应的直方图,但不同的图像可能有相同的直方图。 (3)一幅图像可分为多个子区域,子图直方图之和为整图的直方图。 2灰度直方图有何用途?编程实现一种灰度直方图应用的程序。 答:(1)用于判断图像量化是否恰当。 (2)用于确定图像的二值化阈值。 (3)计算图像中物体的面积。 (4)计算图像信息量H(熵)。 3在本次实习的基础上,试编写直方图均衡的程序。 五、实习心得体会

频域分析实验报告

频域分析实验报告 班级: 学号: 姓名:

一、实验内容: 1利用计算机作出开环系统的波特图; 2、观察记录控制系统的开环频率特性; 3、控制系统的开环频率特性分析。 二、仿真原理: 对数频率特性图(波特图): 对数频率特性图包括了对数幅频特性图和对数相频特性图。横坐标为频率w,采用对数分度,单位为弧度/秒;纵坐标均匀分度,分别为幅值函数20lgA(w),以dB表示;相角,以度表示。MATLAB提供了函数bode()来绘制系统的波特图,其用法如下: (1)bode(num,den):可绘制出以连续时间多项式传递函数表示的系统的波特图。 (2)当带输出变量[mag,pha,w]或[mag,pha]引用函数时,可得到系统波特图相应的幅值mag、相角pha及角频率点w矢量或只是返回幅值与相角。相角以度为单位,幅值可转换为分贝单位:magdb=20×log10(mag) 二、实验验证 1、用Matlab作Bode图。要求:画出对应Bode图。 (1)G(S)=25/S2+4s+25 (7)G(S)=9(s2+0.2s+1)/s(s2+1.2s+9);

图 1 图 2 (1)G(S)=25/S2+4s+25 可以看成是一个比例环节和一个振荡环节组成,所以k=1,T1=0.04,因为v=0,所以在转折频率之前都为20lgk,因为k=1所以斜率为0,经过转折频率,分段直线斜率的变化量为-40db/dec。

(7)G(S)=9(s2+0.2s+1)/s(s2+1.2s+9); 可以看成是一个二阶微分环节和一个积分环节和一个振荡环节组成,化常数为1后,v=1,t1=1,t2=1/3,所以我们可以看到,在起始阶段是-20*vdb/dec,所以一开始斜率为-20db/dec。当经过1/3的转折频率之后分段直线的改变量为40db/dec,当经过1的转折频率之后分段直线的改变量为-40db/dec。故图像如图所示。 第二题: 典型二阶系统Gs=Wn2/s2+2ζWns+Wn2,试绘制取不同值时的Bode图。取Wn=8,ζ=0.1,0.2,0.3,,0.5,0.6; 图 3 如图所示。

实验-数字图像的直方图统计

实验二数字图像的直方图统计 一、实验目的 1.了解对灰度图像进行直方图统计的基本原理; 2.掌握用VC编程实现直方图统计的方法; 3.在微机上调试程序; 5. 分析数字图像直方图的特点。 二、实验原理 图像的直方图 图像的(灰度统计)直方图是一个一维的离散函数。它的定义为: 设s k为图像f(x,y)的第k级灰度值,n k是f(x,y)中具有灰度值s k的象素的个数,n是图像象素总数,则: p s(s k)= n k/n k=0,1, ,L-1 称为图像f(x,y)的直方图。 这里p s(s k)代表原始图中第k个灰度级的出现概率。以n k为自变量,以p s(s k)为函数,得到的曲线就是图像的直方图,在实际中常常直接将对第k个灰度级的统计值n k作为图像的直方图。 它提供了原图灰度值的分布情况,也可以说给出了一幅图所有灰度值的整体描述。 对灰度图像进行直方图统计的程序流程图如图2-1所示。 图2-1 灰度图像直方图统计流程 三、实验前准备 1.预习本实验中关于数字图像直方图统计的有关内容; 2. 预习VC中添加对话框的步骤和方法; 3.了解本实验的目的和实验内容。 四、实验内容 1.在实验一的基础上读入并显示一幅数字图像; 2.编写对灰度图像进行直方图统计的程序,并将结果显示在屏幕上。 五、实验报告要求 1.总结对灰度图像进行直方图统计的过程,比较不同的图像其直方图特性;

2.对实验结果进行分析。 六、参考步骤和程序 在实验一的基础上,进行如下操作: 1、点击ResourceView,右键点击Dialog,选Insert Dialog 在属性对话框中将ID改为 ID_HIST,对话框名称改为“直方图” 2、在工具栏中点“插入”-“新建类”,输入类名,并选Base Class为CDialog,Dialog ID为 ID_HIST。这样就将对话框和类联系起来了,在该对话框中拖入一Edit控件,将其ID 设为IDC_HISTSHOW; 3、快捷键“Ctrl+W”,出现MFC ClassWizard对话框,在Messages栏中分别选 WM_INITDIALOG和WM_Paint,再点击“Add Function”,即将对话框初始化和画图函数加入对话框类之中。 4、在Hist.h文件“public:”下面输入如下变量定义: LONG m_lCount[256]; char* m_lpDIBBits; LONG m_lWidth; LONG m_lHeight; int m_iIsDraging; CDlgIntensity(CWnd* pParent = NULL); 5、打开Hist.cpp程序,在CHist::OnInitDialog()函数中“// TODO: Add extra initialization here” 前将如下代码拷贝进去: unsigned char* lpSrc; LONG i; LONG j; 6、在“// TODO: Add extra initialization here”后将如下代码拷贝进去: CWnd* pWnd=GetDlgItem(IDC_HISTSHOW); pWnd->GetClientRect(m_MouseRect); pWnd->ClientToScreen(&m_MouseRect); CRect rect; GetClientRect(rect); ClientToScreen(&rect); m_MouseRect.top-=rect.top; m_MouseRect.left-=rect.left; m_MouseRect.top+=25; m_MouseRect.left+=10; m_MouseRect.bottom=m_MouseRect.top+255; m_MouseRect.right=m_MouseRect.left+256; for(i=0;i<256;i++) { m_lCount[i]=0;

控制系统的频域分析实验报告

实验名称: 控制系统的频域分析 实验类型:________________同组学生姓名:__________ 一、实验目的和要求 用计算机辅助分析的方法,掌握频率分析法的三种方法,即Bode 图、Nyquist 曲线、Nichols 图。 二、实验内容和原理 (一)实验原理 1.Bode(波特)图 设已知系统的传递函数模型: 1 1211121)(+-+-+???+++???++=n n n m m m a s a s a b s b s b s H 则系统的频率响应可直接求出: 1 1211121)()()()()(+-+-+???+++???++=n n n m m m a j a j a b j b j b j H ωωωωω MATLAB 中,可利用bode 和dbode 绘制连续和离散系统的Bode 图。 2.Nyquist(奈奎斯特)曲线 Nyquist 曲线是根据开环频率特性在复平面上绘制幅相轨迹,根据开环的Nyquist 线,可判断闭环系统的稳定性。 反馈控制系统稳定的充要条件是,Nyquist 曲线按逆时针包围临界点(-1,j0)p 圈,为开环传递函数位于右半s 一平面的极点数。在MATLAB 中,可利用函数nyquist 和dnyquist 绘出连续和离散系统的乃氏曲线。 3.Nicho1s(尼柯尔斯)图 根据闭环频率特性的幅值和相位可作出Nichols 图,从而可直接得到闭环系统的频率特性。在 MATLAB 中,可利用函数nichols 和dnichols 绘出连续和离散系统的Nichols 图。 (二)实验内容 1.一系统开环传递函数为 ) 2)(5)(1(50)(-++=s s s s H 绘制系统的bode 图,判断闭环系统的稳定性,并画出闭环系统的单位冲击响应。 2.一多环系统 ) 10625.0)(125.0)(185.0(7.16)(+++=s s s s s G 其结构如图所示 试绘制Nyquist 频率曲线和Nichols 图,并判断稳定性。 (三)实验要求

灰度直方图

1.灰度直方图 灰度直方图(histogram)是灰度级的函数,它表示图象中具有每种灰度级的象素的个数,反映图象中每种灰度出现的频率。如下图所示,灰度直方图的横坐标是灰度级,纵坐标是该灰度级出现的频率,是图象的最基本的统计特征。 从概率的观点来理解,灰度出现的频率可看作其出现的概率,这样直方图就对应于概率密度函数pdf(probability density function),而概率分布函数就是直方图的累积和,即概率密度函数的积分,如下图所示:

若直接从代表每种灰度的象素数目的直方图来观察,常用如下的表示: dr r dP r p dr r p r P r )()(, )()(0 = =?∑???===≈ ===== =k i i k k k k k r r n n r P n n r p n r n A dA r p dr dr r H A r P A dr r dA A r H r p dr r H A dr r H r A 00 0000255 00 )()()(1)(1 )(,/)()()() ()(, )()(,而概率分布函数,则概率密度的象素数为,灰度为若记象素总数为,时,在离散情况下,取概率密度象素总数一幅图象的总面积,或

灰度直方图的计算是很简单的,依据定义,若图象具有L(通常L=256, 即8位灰度级)级灰度,则大小为MxN的灰度图象f(x,y)的灰度直方图hist[0…L-1]可用如下计算获得: 1. 1.初始化 hist[k]=0 ; k=0,…,L-1 2. 2.统计 hist[f(x,y)]++ ; x, y =0,…,M-1, 0,…,N-1 3. 3.标准化 hist[f(x,y)]/=M*N 2.直方图均衡化 直方图均衡化是通过灰度变换将一幅图象转换为另一幅具有均衡直方图,即在每个灰度级上都具有相同的象素点数的过程。 设灰度变换s=f(r)为斜率有限的非减连续可微函数,它将输入图象A(x,y) 转换为输出图象B(x,y),输入图象的直方图为H A (r),输出图象的直方图为H B (s), 则它们的关系可由如下过程导出:

图像的直方图是图像的重要统计特征

图像的直方图是图像的重要统计特征,它可以认为是图像灰度密度函数的近似。直方图虽然不能直接反映出图像内容,但对它进行分析可以得出图像的一些有用特征,这些特征能反映出图像的特点。当图像对比度较小时,它的灰度直方图只在灰度轴上较小的一段区间上非零,较暗的图像由于较多的像素灰度值低,因此它的直方图的主体出现在低值灰度区间上,其在高值灰度区间上的幅度较小或为零,而较亮的图像情况正好相反。通常一幅均匀量化的自然图像的灰度直方图在低值灰度区间上频率较大,这样的图像较暗区域中的细节常常看不清楚。为使图像变清晰,可以通过变换使图像的灰度动态范围变大,并且让灰度频率较小的灰度级经变换后,其频率变得大一些,使变换后的图像灰度直方图在较大的动态范围内趋于均化。事实证明,通过图像直方图修改进行图像增强是一种有效的方法。 均匀量化的自然图像的灰度直方图通常在低值灰度区间上频率较大,使得图像中较暗区域中的细节常常看不清楚。为了使图像清晰,可将图像的灰度范围拉开,并且让灰度频率较小的灰度级变大,即让灰度直方图在较大的动态范围内趋于一致。 前面介绍的直方图均衡化处理方法从实验效果看还是很不错的,从实现算法上也可以看出其优点主要在于能自动整幅图像的对比度,但具体的增强效果也因此不易控制,只能得到全局均衡化处理的直方图。在科研和工程应用中往往要根据不同的要求得到特定形状的直方图分布以有选择的对某灰度范围进行局部的对比度增强,此时可以采用对直方图的规定化处理,通过选择合适的规定化函数取得期望的效果。 a=imread('花.jpg'); subplot(2,2,1); imshow(a); title('原始图像'); subplot(2,2,2); a=rgb2gray(a); imhist(a); title('原始图像直方图'); subplot(2,2,3);

信号与系统实验报告实验三 连续时间LTI系统的频域分析

实验三 连续时间LTI 系统的频域分析 一、实验目的 1、掌握系统频率响应特性的概念及其物理意义; 2、掌握系统频率响应特性的计算方法和特性曲线的绘制方法,理解具有不同频率响应特性的滤波器对信号的滤波作用; 3、学习和掌握幅度特性、相位特性以及群延时的物理意义; 4、掌握用MA TLAB 语言进行系统频响特性分析的方法。 基本要求:掌握LTI 连续和离散时间系统的频域数学模型和频域数学模型的MATLAB 描述方法,深刻理解LTI 系统的频率响应特性的物理意义,理解滤波和滤波器的概念,掌握利用MATLAB 计算和绘制LTI 系统频率响应特性曲线中的编程。 二、实验原理及方法 1 连续时间LTI 系统的频率响应 所谓频率特性,也称为频率响应特性,简称频率响应(Frequency response ),是指系统在正弦信号激励下的稳态响应随频率变化的情况,包括响应的幅度随频率的变化情况和响应的相位随频率的变化情况两个方面。 上图中x(t)、y(t)分别为系统的时域激励信号和响应信号,h(t)是系统的单位冲激响应,它们三者之间的关系为:)(*)()(t h t x t y =,由傅里叶变换的时域卷积定理可得到: )()()(ωωωj H j X j Y = 3.1 或者: ) () ()(ωωωj X j Y j H = 3.2 )(ωj H 为系统的频域数学模型,它实际上就是系统的单位冲激响应h(t)的傅里叶变换。即 ? ∞ ∞ --= dt e t h j H t j ωω)()( 3.3

由于H(j ω)实际上是系统单位冲激响应h(t)的傅里叶变换,如果h(t)是收敛的,或者说是绝对可积(Absolutly integrabel )的话,那么H(j ω)一定存在,而且H(j ω)通常是复数,因此,也可以表示成复数的不同表达形式。在研究系统的频率响应时,更多的是把它表示成极坐标形式: ) ()()(ω?ωωj e j H j H = 3.4 上式中,)j (ωH 称为幅度频率相应(Magnitude response ),反映信号经过系统之后,信号各频率分量的幅度发生变化的情况,)(ω?称为相位特性(Phase response ),反映信号经过系统后,信号各频率分量在相位上发生变换的情况。)(ωj H 和)(ω?都是频率ω的函数。 对于一个系统,其频率响应为H(j ω),其幅度响应和相位响应分别为)(ωj H 和)(ω?,如果作用于系统的信号为t j e t x 0)(ω=,则其响应信号为 t j e j H t y 0)()(0ωω= t j j e e j H 00)(0)(ωω?ω=))((000)(ω?ωω+=t j e j H 3.5 若输入信号为正弦信号,即x(t) = sin(ω0t ),则系统响应为 ))(sin(|)(|)sin()()(00000ω?ωωωω+==t j H t j H t y 3.6 可见,系统对某一频率分量的影响表现为两个方面,一是信号的幅度要被)(ωj H 加权,二是信号的相位要被)(ω?移相。 由于)(ωj H 和)(ω?都是频率ω的函数,所以,系统对不同频率的频率分量造成的幅度和相位上的影响是不同的。 2 LTI 系统的群延时 从信号频谱的观点看,信号是由无穷多个不同频率的正弦信号的加权和(Weighted sum )所组成。正如刚才所述,信号经过LTI 系统传输与处理时,系统将会对信号中的所有频率分量造成幅度和相位上的不同影响。从相位上来看,系统对各个频率分量造成一定的相位移(Phase shifting ),相位移实际上就是延时(Time delay )。群延时(Group delay )的概念能够较好地反

绘制数字图像灰度直方图实验报告MATLAB实现

数字图像处理 实验报告 实验一绘制直方图 学号 姓名 日期

实验一绘制直方图 一、实验内容 1、编程绘制数字图像的直方图。 2、直方图均衡处理。 二、实验步骤 1、设计思想或者流程图。 灰度直方图是将数字图像的所有像素,按照灰度值的大小,统计其所出现的频度。通常,灰度直方图的横坐标表示灰度值,纵坐标为半个像素个数,也可以采用某一灰度值的像素数占全图像素数的百分比作为纵坐标。 直方图均衡方法的基本原理是:对在图像中像素个数多的灰度值(即对画面起主要作用的灰度值)进行展宽,而对像素个数少的灰度值(即对画面不起主要作用的灰度值)进行归并。从而达到清晰图像的目的。 2、源程序并附上注释。 clear all %一,图像的预处理,读入彩色图像将其灰度化 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);%预创建存放灰度出现概率的向量for k=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); for i=1:256 for j=1:i S1(i)=GP(j)+S1(i);%计算Sk end end S2=round((S1*256)+0.5);%将Sk归到相近级的灰度for i=1:256 GPeq(i)=sum(GP(find(S2==i)));%计算现有每个灰度级出现的概率

实验1 图像直方图分析

实验1 图像直方图分析 模式识别与智能系统王衍平 2010043003 1 实验目的 本试验通过MATLAB编程,获取一幅RGB图像的灰度直方图信息,并根据灰度直方图获得图像中的像素亮度的分布情况。 2 实验步骤 (1)使用imread函数读取一幅RGB图像,并输出显示该图像; (2)使用size函数获取该图像的大小,然后分离三个颜色通道; (3)分别输出显示R、G、B三个颜色通道的图像; (4)分别绘制R、G、B三个颜色通道的灰度直方图; (5)绘制RGB三个颜色通道的灰度直方图于一幅图像中。 3 MATLAB程序代码 I=imread('D:\数字图像处理实验\001.bmp'); % 若果不是RGB图像,报错 if(size(I,3)~=3) error('rgbhist:numberOfSamples','Input image must be RGB.') end figure(1),imshow(I); title('原RGB图像'); S=size(I); % Size of array file. H=reshape(I,S(1)*S(2),S(3)); % 将每个颜色通道变为一列 H=double(H); % Convert to double precision. nHist=2^8-1; figure(2),imshow(I(:,:,1)); % 显示R通道上的图像 title('R通道上的图像'); figure(3),imshow(I(:,:,2)); % 显示G通道上的图像 title('G通道上的图像'); figure(4),imshow(I(:,:,3)); % 显示B通道上的图像 title('B通道上的图像'); figure(5),imhist(I(:,:,1),nHist); % 绘制图像R通道上的灰度直方图 title('R通道上的灰度直方图'); figure(6),imhist(I(:,:,2),nHist); % 绘制图像R通道上的灰度直方图 title('G通道上的灰度直方图'); figure(7),imhist(I(:,:,3),nHist); % 绘制图像R通道上的灰度直方图 title('B通道上的灰度直方图');

用FFT对信号作频谱分析实验报告

实验一报告、用FFT 对信号作频谱分析 一、实验目的 学习用FFT 对连续信号和时域离散信号进行频谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT 。 二、实验内容 1.对以下序列进行频谱分析: ()() ()()4231038470n 4033 470n x n R n n n x n n n n n x n n n =+≤≤?? =-≤≤???-≤≤?? =-≤≤??? 其它其它 选择FFT 的变换区间N 为8和16两种情况进行频谱分析。分别打印其幅频特性曲线,并进行对比,分析和讨论。 2.对以下周期序列进行频谱分析: ()()45cos 4 cos cos 4 8 x n n x n n n π π π ==+ 选择FFT 的变换区间N 为8和16两种情况分别对以上序列进行频谱分析。分别打印其幅频特性曲线,并进行对比、分析和讨论。 3.对模拟信号进行频谱分析: ()8cos8cos16cos20x t t t t πππ=++ 选择采样频率64s F Hz =,对变换区间N=16,32,64 三种情况进行频谱分析。分别 打印其幅频特性,并进行分析和讨论。

三、实验程序 1.对非周期序列进行频谱分析代码: close all;clear all; x1n=[ones(1,4)]; M=8;xa=1:(M/2);xb=(M/2):-1:1;x2n=[xa,xb]; x3n=[xb,xa]; X1k8=fft(x1n,8);X1k16=fft(x1n,16); X2k8=fft(x2n,8);X2k16=fft(x2n,16); X3k8=fft(x3n,8);X3k16=fft(x3n,16); subplot(3,2,1);mstem=(X1k8);title('(1a)8点DFT[x_1(n)]'); subplot(3,2,2);mstem=(X1k16);title('(1b)16点DFT[x_1(n)]'); subplot(3,2,3);mstem=(X2k8);title('(2a)8点DFT[x_2(n)]'); subplot(3,2,4);mstem=(X2k16);title('(2b)16点DFT[x_2(n)]'); subplot(3,2,5);mstem=(X3k8);title('(3a)8点DFT[x_3(n)]'); subplot(3,2,6);mstem=(X3k16);title('(3b)16点DFT[x_3(n)]'); 2.对周期序列进行频谱分析代码: N=8;n=0:N-1; x4n=cos(pi*n/4); x5n=cos(pi*n/4)+cos(pi*n/8); X4k8=fft(x4n); X5k8=fft(x5n); N=16;n=0:N-1; x4n=cos(pi*n/4); x5n=cos(pi*n/4)+cos(pi*n/8); X4k16=fft(x4n); X5k16=fft(x5n); figure(2) subplot(2,2,1);mstem(X4k8);title('(4a)8点 DFT[x_4(n)]'); subplot(2,2,2);mstem(X4k16);title('(4b)16点DFT[x_4(n)]'); subplot(2,2,3);mstem(X5k8);title('(5a)8点DFT[x_5(n)]'); subplot(2,2,4);mstem(X5k16);title('(5a)16点DFT[x_5(n)]') 3.模拟周期信号谱分析 figure(3) Fs=64;T=1/Fs; N=16;n=0:N-1; x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T); X6k16=fft(x6nT); X6k16=fftshift(X6k16);

四、灰度直方图是数字图像处理的重要工作。请简述灰度直方图规定化

四、灰度直方图是数字图像处理的重要工作。请简述灰度直方图规定化、均衡化的基本原理。并以分辨率为5*4,图像的深度6bit 的图像为例,自举例说明直方图均衡化的计算过程。 解答: 数字图像的直方图是作为图像每一个灰度级的统计概率分布"它提供了图像灰度分布的概貌,直方图增强技术正是利用修改给定图像直方图的方法来增强图像的,最后得到的图像增强程度取决于我们所采用的直方图。令变量r 和s 分别代表图像增强前后的像素灰度级,相应灰度级分布的概率密度分别为()r P r 和()s P s 。 为讨论方便,假设像素灰度值已经归一化在区间[0,1],在灰度级坐标中r=0表示黑,r=1表示白。对区间[0,1]内任一个r 值按变换函数: s = T(r) (1) 进行变换,T (r )满足两个条件:(1)单值单调递增函数;(2) 0≤T (r )≤1。 条件(1)使灰度级保持从黑到白的次序,条件(2)保证映射变换后像素灰度值在允许的范围内。从s 到r 的反变换为:1()r T s -=,0≤s ≤1。 (2) 同样,规定变量s 也满足条件(1)和(2)。由概率理论知,若()r P r 和变换函数s = T(r) 已知,1()r T s -=是单值单调增加函数,则有: 1() ()[P () ]s r r T s dr P s r ds -== (3) 直方图增强技术就是通过变换函数T (r )控制图像灰度级的概率密度函数而改变图像的外貌。 对于连续图像,变换函数为: ()(),01r r s T r P r dr r ==≤≤? (4) 此式右边为累积分布函数(CDF ),由该式对r 求导有: ()r ds P r dr = (5) 代入(3)得到: 1()1 ()[() ]1,01() r r T s r P s P r s P r -===≤≤ (6) 这说明,在变换后变量s 在定义域内, ()s P s 是均匀概率密度。在图像增强意义上,这 相当于像素的动态范围增加。 对于离散图像,灰度级k r 的概率值为: (),01,0,1,2, (1) r k k n P r r k L n = ≤≤=- (7) 其中,n 表示图像中像素的总数,k n 是在图像中出现这种灰度级的次数,L 表示灰度级

数字图像处理点运算和直方图处理

实验1 点运算和直方图处理 一、实验目的 1. 掌握利用Matlab图像工具箱显示直方图的方法 2. 掌握运用点操作进行图像处理的基本原理。 3. 进一步理解利用点操作这一方法进行图像处理的特点。 4. 掌握利用Matlab图像工具箱进行直方图均衡化的基本方法。 二、实验的硬件、软件平台 硬件:计算机 软件:操作系统:WINDOWS 7 应用软件:MATLAB 三、实验内容及步骤 1. 了解Matlab图像工具箱的使用。 2. 利用Matlab图像工具箱对图像进行点操作,要求完成下列3个题目中 的至少2个。 ⑴图1灰度范围偏小,且灰度偏低,改正之。 ⑵图2暗处细节分辨不清,使其能看清楚。 ⑶图3亮处细节分辨不清,使其能看清楚。 图1 图2 图3 3. 给出处理前后图像的直方图。 4. 利用MatLab图像处理工具箱中函数对以上图像进行直方图均衡化操 作,观察结果。 四、思考题 1. 点操作能完成哪些图像增强功能? 2. 直方图均衡化后直方图为何并不平坦?为何灰度级会减少? 五、实验报告要求

1.对点操作的原理进行说明。 2.给出程序清单和注释。 3.对处理过程和结果进行分析(包括对处理前后图像的直方图的分析)。实验代码以及解析 点操作: I = imread('POINT1.BMP'); %读入图像 j=rgb2gray(I); %将图像转为灰度图像 INFO=IMFINFO('POINT1.BMP') %获取图片的格式、尺寸、颜色数量、修改时间等信息[l,r]=size(j); %图片大小 figure; %建立一个图形框 subplot(221) imshow(j) %在两行两列的第一个位置放置图片j title('POINT1.BMP') %给该图片加上标题POINT1.BMP for m=1:l for n=1:r %从第一个像素循环到最后一个像素 p1(m,n)=j(m,n)*1.2; %把各点乘上1.2得到p1图 end end for m=1:l for n=1:r p2(m,n)=j(m,n)*2; %%把各点乘上2得到p2图 end end for m=1:l for n=1:r p3(m,n)=j(m,n)*2+50; %把各点乘上2再加50得到p2图 end end subplot(222) imshow(p1) title('j(m,n)*1.2') %p1图放在第二个位置且冠名j(m,n)*1.2 subplot(223) imshow(p2) title('j(m,n)*2') %p1图放在第三个位置且冠名j(m,n)* 2 subplot(224) imshow(p3) title('j(m,n)*2+50') %p1图放在第四个位置且冠名j(m,n)*2+50 figure; %建立一个新的窗口并且依次显示以上四个图的直方图subplot(221),imhist(j,64); title('原图直方图') %64代表把0-250的灰度范围分为64份

FFT频谱分析实验报告

实验二:用FFT作谱分析 一、实验目的 (1) 进一步加深DFT算法原理和基本性质的理解(因为FFT只是DFT的一种快速算法,所以FFT的运算结果必然满足DFT的基本性质)。 (2) 熟悉FFT算法原理和FFT子程序的应用。 (3) 学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。 二、实验原理

三、实验内容 (1) 对2 中所给出的信号逐个进行谱分析。解:(1) n=0:3; xn1=[1 1 1 1]; XK18=fft(xn1,8); XK116=fft(xn1,16); n1=0:7; n2=0:15; subplot(131); stem(n,xn1); xlabel('n'); ylabel('xn1'); subplot(132); stem(n1,abs(XK18)); xlabel('n1'); ylabel('XK18'); title('xn的8点'); subplot(133); stem(n2,abs(XK116)); xlabel('n2'); ylabel('XK116'); title('xn的16点');

(2) n1=0:7; n2=0:15; xn2=[1 2 3 4 4 3 2 1]; XK28=fft(xn2,8); XK216=fft(xn2,16); subplot(131); stem(n1,xn2); xlabel('n1'); ylabel('xn2'); subplot(132); stem(n1,abs(XK28)); xlabel('n1'); ylabel('XK28'); title('xn2的8点'); subplot(133); stem(n2,abs(XK216)); xlabel('n2'); ylabel('XK216'); title('xn2的16点'); (3) n1=0:7; n2=0:15; xn3=[4 3 2 1 1 2 3 4]; XK38=fft(xn3,8);

编程实现计算图像直方图、图像熵解析

数字图像处理实验报告——图像常用格式及显示 武汉大学 2016.04

1 实验内容 本实验报告主要介绍 主要内容 1. 理解灰度映射原理; 2. 掌握灰度映射计算方法; 3. 理解图像直方图的定义; 4. 理解图像直方图的作用; 5. 理解图像熵的定义及作用; 6. 掌握图像直方图计算方法; 7. 掌握图像熵的计算方法; 8. 进一步熟悉图像文件256色、24位真彩色BMP图像格式; 9. 进一步熟悉Visual C++ 6.0编程界面,及使用方法; 10. 熟悉Visual C++中绘图函数方法; 11. 编程完成计算图像几种灰度映射; 12. 编程实现计算图像直方图、图像熵; 13. 编程绘制图像直方图; 14. 根据不通灰度映射处理观察图像直方图变化; 15. 总结实验过程(实验报告):编程、调试、结果、分析、结论。 主要目的 1. 建立相关实验环境:从指定服务器指定位置拷贝实验相关材料,包括:实验要求,实例程序,示例图像,VC++6.0程序,实验相关幻灯片; 2. 使用实验一建立的简单多文档应用程序框架及、图像夺取和显示功能,进一步熟悉图像的格式及显示,熟悉图像的组织和存储方式。 3. 编写图像线性灰度映射: 4. 编写图像直方图统计程序: 5. 观察图像直方图 主要函数说明 1.void CZhangyanImageView::OnProcessZhifangtu() 函数目的:在用户界面中添加直方图处理,并添加函数在.cpp文件中 函数参数说明:建立直方图处理函数 2.void CZhangyanImageView::OnProcessLinetran() 函数目的:在用户界面中添加灰度变换处理,并添加函数在.cpp文件中函数参数说明:建立灰度变换处理函数 主要代码注释 1.灰度变换函数代码 CZhangyanImageDoc* pDoc = GetDocument();//定义引用doc的指针ASSERT_V ALID(pDoc); unsigned char * pBits=pDoc->m_pBits;//把文件中的m_pBits赋予pBits int nWidth=pDoc->imageWidth; int nHeight=pDoc->imageHeight;//定义整形的image图片宽和高

相关文档
最新文档