当前位置:文档之家› 数字几何处理实验报告[12页].doc

数字几何处理实验报告[12页].doc

Asignment2

完成人

学号:

这一实验主要实现了以下三项要求:

1.Implementation of a simple disk parameterization method (of a disk topology

mesh, i.e.,genus zero with a single boundary) using uniform and discrete

harmonic (i.e cotangent)barycentric coordinates with circular boundary.

https://www.doczj.com/doc/e34588731.html,e of parameterization for texture mapping.

https://www.doczj.com/doc/e34588731.html,putation of parameterization distortion as the overall distortion of triangle

areas and angles.

在这一次实验中遇到的问题主要有:

在键盘操作编程中由于数字的处理不合适总会出现当repeat number减小到1时会出现错误导致之后的操作不能运行。经过单独对其进行限制处理后得到解决。

在这几次实验中主要的收获有:

逐渐熟悉使用visual studio来进行图像数字处理的一些基本操作和重要算法的实现。对3D模型有了跟深入的了解并激发了对数字几何处理方面如3D扫描的兴趣。这是一门非常有意思的课程而且很大程度上增强了我动手操作的能力。

主要代码如下:

ParamViewer::

ParamViewer(const char* _title, int _width, int _height, int iRepeat)

: MeshViewer(_title, _width, _height)

{

_Repeat = iRepeat*5;

mesh_.request_vertex_colors();

mesh_.add_property(vpos_);

mesh_.add_property(vparam_u_);

mesh_.add_property(vparam_h_);

mesh_.add_property(texcoord_u_);

mesh_.add_property(texcoord_h_);

mesh_.add_property(eweight_);

mesh_.add_property(vparam_index_);

add_draw_mode("UV Domain");

add_draw_mode("Textured mesh");

_TextureCoordinates_u=NULL;

_TextureCoordinates_h=NULL;

_ParameterizationMode_ = NoParameterization;

init();

}

ParamViewer::

~ParamViewer()

{

if (glIsTexture(textureID_))

glDeleteTextures( 1, &textureID_); if (_TextureCoordinates_u)

delete [] _TextureCoordinates_u;

if (_TextureCoordinates_h)

delete [] _TextureCoordinates_h;

}

void

ParamViewer::

init()

{

// base class first

MeshViewer::init();

// generate checkerboard-like image

GLubyte tex[256][256][3];

int index=0;

for (int x=0; x<256; ++x)

{

for (int y=0; y<256; ++y)

{

if ((x<128&&y<128) ||(x>128&&y>128))

{

tex[x][y][0] = 0;

tex[x][y][1] = 255;

tex[x][y][2] = 0;

}

else

{

tex[x][y][0] = 255;

tex[x][y][1] = 255;

tex[x][y][2] = 255;

}

}

}

// generate texture

glPixelStorei(GL_UNPACK_ALIGNMENT, 1);

if (!glIsTexture(textureID_))

glGenTextures(1, &textureID_);

glBindTexture(GL_TEXTURE_2D, textureID_);

// copy texture to GL

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);

glTexImage2D(GL_TEXTURE_2D, 0, 3, 256, 256,

0, GL_RGB, GL_UNSIGNED_BYTE, tex);

}

//-----------------------------------------------------------------------------

......

......

......

void

ParamViewer::

keyboard(int key, int x, int y)

{

switch (toupper(key))

{

case 'O':

{

//.pts (point cloud) file opening

CFileDialog dlg(TRUE, LPCTSTR("off"), LPCTSTR("*.off"));

if (dlg.DoModal() == IDOK){

mesh_.clear();

open_mesh(dlg.GetPathName().GetBuffer());

}

break;

}

case 'U':

{

_ParameterizationMode_ = Uniform;

if (!_ParameterizationComputed_u)

{

calc_uniform_parameterization();

ComputeTextureCoordinates(256, 256, _Repeat, _ParameterizationMode_);

calc_distortion(_ParameterizationMode_);

_ParameterizationComputed_u = true;

}

glutPostRedisplay();

break;

}

case 'H':

{

_ParameterizationMode_ = Harmonic;

if (!_ParameterizationComputed_h)

{

calc_harmonic_parameterization();

ComputeTextureCoordinates(256, 256, _Repeat, _ParameterizationMode_);

calc_distortion(_ParameterizationMode_);

_ParameterizationComputed_h = true;

}

glutPostRedisplay();

break;

}

case 'R': {

_Repeat++;

ComputeTextureCoordinates(256, 256, _Repeat, Uniform);

ComputeTextureCoordinates(256, 256, _Repeat, Harmonic);

printf("Number of repeats: %d\n",_Repeat);

glutPostRedisplay();

break;

}

case 'E': {

if (_Repeat>1) _Repeat--;

ComputeTextureCoordinates(256, 256, _Repeat, Uniform);

ComputeTextureCoordinates(256, 256, _Repeat, Harmonic);

printf("Number of repeats: %d\n",_Repeat);

glutPostRedisplay();

break;

}

default:

{

MeshViewer::keyboard(key, x, y);

break;

}

}

}

主要实验结果截图如下:

1 SOLID FLAT

2 SOLID SMOOTH

3 UV DOMAIN

3 TEXTURED MESH 1).number of repeat=5

2). number of repeat=10

语音识别系统实验报告材料

语音识别系统实验报告 专业班级:信息安全 学号: 姓名:

目录 一、设计任务及要求 (1) 二、语音识别的简单介绍 2.1语者识别的概念 (2) 2.2特征参数的提取 (3) 2.3用矢量量化聚类法生成码本 (3) 2.4VQ的说话人识别 (4) 三、算法程序分析 3.1函数关系 (4) 3.2代码说明 (5) 3.2.1函数mfcc (5) 3.2.2函数disteu (5) 3.2.3函数vqlbg (6)

3.2.4函数test (6) 3.2.5函数testDB (7) 3.2.6 函数train (8) 3.2.7函数melfb (8) 四、演示分析 (9) 五、心得体会 (11) 附:GUI程序代码 (12) 一、设计任务及要求 实现语音识别功能。 二、语音识别的简单介绍

基于VQ的说话人识别系统,矢量量化起着双重作用。在训练阶段,把每一个说话者所提取的特征参数进行分类,产生不同码字所组成的码本。在识别(匹配)阶段,我们用VQ方法计算平均失真测度(本系统在计算距离d时,采用欧氏距离测度),从而判断说话人是谁。 语音识别系统结构框图如图1所示。 图1 语音识别系统结构框图 2.1语者识别的概念 语者识别就是根据说话人的语音信号来判别说话人的身份。语音是人的自然属性之一,由于说话人发音器官的生理差异以及后天形成的行为差异,每个人的语音都带有强烈的个人色彩,这就使得通过分析语音信号来识别说话人成为可能。用语音来鉴别说话人的身份有着许多独特的优点,如语音是人的固有的特征,不会丢失或遗忘;语音信号的采集方便,系统设备成本低;利用电话网络还可实现远程客户服务等。因此,近几年来,说话人识别越来越多的受到人们的重视。与其他生物识别技术如指纹识别、手形识别等相比较,说话人识别不仅使用方便,而且属于非接触性,容易被用户接受,并且在已有的各种生物特征识别技术中,

数字图像处理实验报告

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

遥感实验报告

遥感原理与应用 实验报告 姓名:学号:学院:专业: 年月日 实验一: erdas视窗的认识实验 一、实验目的 初步了解目前主流的遥感图象处理软件erdas的主要功能模块,在此基础上,掌握几个视窗操作模块的功能和操作技能,为遥感图像的几何校正等后续实习奠定基础。 二、实验步骤 打开imagine 视窗 启动数据预处理模块 启动图像解译模块 启动图像分类模块 imagine视窗 1.数据预处理(data dataprep) 2.图像解译(image interpreter) 主成份变换 色彩变换 3.图像分类(image classification) 非监督分类 4. 空间建模(spatial modeler) 模型制作工具 三、实验小结 通过本次试验初步了解遥感图象处理软件erdas的主要功能模块,在此基础上,基本掌握了几个视窗操作模块的功能和用途。为后续的实验奠定了基础。 实验二遥感图像的几何校正 掌握遥感图像的纠正过程 二、实验原理 校正遥感图像成像过程中所造成的各种几何畸变称为几何校正。几何校正就是将图像数据投影到平面上,使其符合地图投影系统的过程。而将地图投影系统赋予图像数据的过程,称为地理参考(geo-referencing)。由于所有地图投影系统都遵循一定的地图坐标系统,因此几何校正的过程包含了地理参考过程。 几何校正包括几何粗校正和几何精校正。地面接收站在提供给用户资料前,已按常规处理方案与图像同时接收到的有关运行姿态、传感器性能指标、大气状态、太阳高度角对该幅图像几何畸变进行了几何粗校正。利用地面控制点进行的几何校正称为几何精校正。一般地面站提供的遥感图像数据都经过几何粗校正,因此这里主要进行一种通用的精校正方法的实验。该方法包括两个步骤:第一步是构建一个模拟几何畸变的数学模型,以建立原始畸变图像空间与标准图像空间的某种对应关系,实现不同图像空间中像元位置的变换;第二步是利用这种对应关系把原始畸变图像空间中全部像素变换到标准图像空间中的对应位置上,完成标准图像空间中每一像元亮度值的计算。 三、实验内容 根据实验的数据,对两张图片进行几何纠正 四、实验流程

数字语音处理实验报告分析解析

数字语音处理实验报告 题目语音端点检测 作者 学院 专业 班级 学号 指导教师

目录 摘要: (2) 前言: (2) 1、实现原理 (3) 1.1基本公式: (3) 1.2 理论基础: (3) 1.3 基本思路: (4) 2、 matlab实现 (4) 2.1 程序流程图: (4) 2.2 程序分析 (5) 2.2.1 流程图的说明 (5) 2.2.2 起点和终点的判断 (5) 2.2.3 enframe函数的说明 (5) 2.2.4 过零率的计算 (7) 2.2.5能量的计算 (8) 2.3 运行结果 (9) 总结 (10) 参考文献 (11) 附录:完整源程序 (12)

摘要:短时能量分析和过零率分析作为语音信号时域分析中最基本的方法,应用相当广泛,特别是在语音信号端点检测方面。由于在语音信号端点检测方面这两种方法通常是独立使用的,在端点检测的时候很容易漏掉重要的信息。本文将这两种方法结合起来,利用MATLAB 工具对其进行了分析。实验结果表明,检测的效果好于分别使用其中一种方法的情况。 关键词:端点检测,短时能量过零率门限 前言:近年来,在语音信号处理领域,关于语音信号中端点检测及判定的研究越来越重要。作为语音识别的前提工作,有效的端点检测方法不仅可以减少数据的存储量和处理时间,而且可以排除无声段的噪声干扰,使语音识别更为准确。目前的语音信号端点检测算法比较多,有短时能量,短时过零率分析,自相关法等等,其中以短时能量和短时过零率用的最多。大多文献和教材都是把它们分别进行介绍,由于它们各有其优缺点,分别使用作为语音端点检测的手段难免会漏掉很多有用的信息,因此,笔者将这两种方法结合起来进行分析,在判断清浊音及静音方面可以起到互补的作用,从语音信号的短时能量和过零率分析的特点出发,加以门限值来分析将两种方法相结合应用的效果,最后通过Matlab 进行了仿真。

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

数字图像处理 实验报告 学号: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

遥感实验报告

重庆交通大学 学生实验报告 实验课程名称遥感原理与应用 开课实验室测量与空间信息处理实验室 学院 2013 年级测绘工程专业 1班学生姓名刘文洋 学号 631301040126 开课时间 2015 至 2016 学年第 1 学期

目录 实验一 ENVI 视窗的基本操作 (2) 实验二遥感图像的几何校正 (4) 实验三遥感图像的增强处理 (8) 实验四遥感图像的变换 (12) 实验五遥感信息的融合 (15) 实验六遥感图像分类 --- 监督分类 (17) 实验七遥感图像分类 --- 非监督分类 (19) 实验八遥感图像分类后处理 (22)

实验一ENVI 视窗的基本操作 一、实验目的 初步了解目前主流的遥感图象处理软件 ENVI 的主要功能模块,在此基础上,掌握视窗操作模块的功能和操作技能,为遥感图像的几何校正等后续实习奠定基础。 二、实验内容 视窗功能介绍;文件菜单操作;显示数据;裁剪数据;合并波段 三、实验步骤 1、首先打开ENVI4.7软件,看见的只有菜单栏,如图所示: 2、打开每个下拉菜单浏览其下拉栏中都有哪些功能,比如:我们如果需要打开遥感文件,则可以选择File下的打开功能open image file,打开遥感图像如下图:

裁剪数据打开basic tools的resize data功能,如果需要对图像进行一系列处理,可以利用Transform,Classification等功能进行操作,在后续实验中我们也会用到其中的一些功能进行图像的一系列操作,到时候在详细叙述。 3、再熟悉了ENVI4.7的一些基本知识后我们可以简单地操作下,比如对一组数据分别用Gray Scale和Load RGB导入,看看两幅图的区别以及各自的优缺点。 四、实验结果分析 在这次的实验中,我们简单的熟悉了下ENVI4.7的一些功能,发现它是可以对遥感图像进行图像几何纠正,直方图均衡,监督分类,非监督分类等一系列操作,为我们后续利用软件对遥感图像处理打下了基础。

实验报告二 Matlab图像代数运算和几何变换

实验二Matlab图像代数运算和几何变换 一、实验目的 1、掌握不同图像类型的转换 2、掌握图像代数运算和几何变换的方法; 3、掌握灰度级插值法的实验方法。 二、实验内容 1、练习图像类型转换的相关命令(ind2rgb,mat2gray,grayslice,rgb2gray,rgb2ind,im2bw,ind2gray,dither)(p69-73); 2、练习课本6.3.2(p139-p143)图像代数运算的内容; 3、练习图像平移 (p148),图像比例变换(p153),图像旋转(p156),图像镜像变换(p158),图像切割(p160)Matlab实现例题; 4、练习灰度级插值法(p171)。 三、实验步骤和结果 1、练习图像类型转换的相关命令(ind2rgb,mat2gray,grayslice,rgb2gray,rgb2ind,im2bw,ind2gray,dither) (1)mat2gray()函数 I=imread('rice.png'); >> J=filter2(fspecial('sobel'),I); >> K=mat2gray(J); >> imshow(I); >> figure,imshow(K) (2)、grayslice()函数 >> I=imread('snowflakes.png'); >> X=grayslice(I,16); >> imview(I) imview(X,jet(16)) (3)、rgb2ind()函数 > RGB=imread('peppers.png'); >> imshow(RGB); >> figure,imshow(RGB) >> [X,map]=rgb2ind(RGB,128); >> figure,imshow(X,map) (4)、im2bw()函数 >> load trees >> BW=im2bw(X,map,0.4); >> figure,imshow(X,map) >> figure,imshow(BW) (5)、ind2gray()函数 load trees >> I=ind2gray(X,map); >> figure,imshow(X,map) >> figure,imshow(I) (6)、dither()函数 >> RGB=imread('peppers.png'); >> [X,map]=rgb2ind(RGB,256); >> I=dither(RGB,map); >> BW=dither(I); >> imshow(RGB,map); >> figure,imshow(RGB,map); >> figure,imshow(BW) Result: (1)转换后图像(2)索引色图像

实验三 遥感图像的几何校正

实验法三遥感图像的几何校正 一实验目的 通过实验操作,掌握遥感图像几何校正的基本方法和步骤,深刻理解遥感图像几何校正的意义。 二实验内容 ERDAS软件中图像预处理模块下的图像几何校正。 几何校正就是将图像数据投影到平面上,使其符合地图投影系统的过程。而将地图投影系统赋予图像数据的过程,称为地理参考(Geo-referencing)。由于所有地图投影系统都遵循一定的地图坐标系统,因此几何校正的过程包含了地理参考过程。 1、图像几何校正的途径 ERDAS图标面板工具条:点击DataPrep图标,→Image Geometric Correction →打开Set Geo-Correction Input File对话框(图1)。 ERDAS图标面板菜单条:Main→Data Preparation→Image Geometric Correction→打开Set Geo-Correction Input File对话框(图1)。 图1 Set Geo-Correction Input File对话框 在Set Geo-Correction Input File对话框(图1)中,需要确定校正图像,有两种选择情况: 其一:首先确定来自视窗(From Viewer),然后选择显示图像视窗。 其二:首先确定来自文件(From Image File),然后选择输入图像。 2、图像几何校正的计算模型(Geometric Correction Model) ERDAS提供的图像几何校正模型有7种,具体功能如下: 表1 几何校正计算模型与功能 模型功能 Affine 图像仿射变换(不做投影变换) Polynomial 多项式变换(同时作投影变换) Reproject 投影变换(转换调用多项式变换) Rubber Sheeting 非线性变换、非均匀变换 Camera 航空影像正射校正 Landsat Lantsat卫星图像正射校正 Spot Spot卫星图像正射校正 其中,多项式变换(Polynomial)在卫星图像校正过程中应用较多,在调用多项式模型时,需要确定多项式的次方数(Order),通常整景图像选择3次方。次方数与所需要的最

语音信号处理实验报告

通信与信息工程学院 信息处理综合实验报告 班级:电子信息工程1502班 指导教师: 设计时间:2018/10/22-2018/11/23 评语: 通信与信息工程学院 二〇一八年 实验题目:语音信号分析与处理 一、实验内容 1. 设计内容 利用MATLAB对采集的原始语音信号及加入人为干扰后的信号进行频谱分析,使用窗函数法设计滤波器滤除噪声、并恢复信号。 2.设计任务与要求 1. 基本部分

(1)录制语音信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。 (2)对所录制的语音信号加入干扰噪声,并对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。 (3)分别利用矩形窗、三角形窗、Hanning窗、Hamming窗及Blackman 窗几种函数设计数字滤波器滤除噪声,并画出各种函数所设计的滤波器的频率响应。 (4)画出使用几种滤波器滤波后信号时域波形和频谱,对滤波前后的信号、几种滤波器滤波后的信号进行对比,分析信号处理前后及使用不同滤波器的变化;回放语音信号。 2. 提高部分 (5)录制一段音乐信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。 (6)利用MATLAB产生一个不同于以上频段的信号;画出信号频谱图。 (7)将上述两段信号叠加,并加入干扰噪声,尝试多次逐渐加大噪声功率,对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。 (8)选用一种合适的窗函数设计数字滤波器,画出滤波后音乐信号时域波形和频谱,对滤波前后的信号进行对比,回放音乐信号。 二、实验原理 1.设计原理分析 本设计主要是对语音信号的时频进行分析,并对语音信号加噪后设计滤波器对其进行滤波处理,对语音信号加噪声前后的频谱进行比较分析,对合成语音信号滤波前后进行频谱的分析比较。 首先用PC机WINDOWS下的录音机录制一段语音信号,并保存入MATLAB软件的根目录下,再运行MATLAB仿真软件把录制好的语音信号用audioread函数加载入MATLAB仿真软件的工作环境中,输入命令对语音信号进行时域,频谱变换。 对该段合成的语音信号,分别用矩形窗、三角形窗、Hanning窗、Hamming窗及Blackman窗几种函数在MATLAB中设计滤波器对其进行滤波处理,滤波后用命令可以绘制出其频谱图,回放语音信号。对原始语音信号、合成的语音信号和经过滤波器处理的语音信号进行频谱的比较分析。 2.语音信号的时域频域分析 在Matlab软件平台下可以利用函数audioread对语音信号进行采样,得到了声音数据变量y,同时把y的采样频率Fs=44100Hz放进了MATALB的工作空间。

opengl立方体的简单三维交互式几何变换实验报告+代码

立方体的简单三维交互式几何变换 这个学期对opengl的学习,使我对计算机图形学的一些算法过程有了更多的了解。因为对三维图形的显示比较感兴趣,就做了立方体的简单三维交互式几何变换。 功能:键盘的方向键实现立方体的上下左右平移;A键,S键分别实现向前,向后旋转;J键,K键分别实现放大,缩小;C键退出。 程序模块: 1.该模块为绘制一个立方体。 void DrawBox() { glBegin(GL_QUADS); //前面 glColor3f(1,0,0); glVertex3f(-1.0f, -1.0f, 1.0f); // 四边形的左下 glVertex3f( 1.0f, -1.0f, 1.0f); // 四边形的右下 glVertex3f( 1.0f, 1.0f, 1.0f); // 四边形的右上 glVertex3f(-1.0f, 1.0f, 1.0f); // 四边形的左上 // 后面 glColor3f(0,1,0); glVertex3f(-1.0f, -1.0f, -1.0f); // 四边形的右下 glVertex3f(-1.0f, 1.0f, -1.0f); // 四边形的右上

glVertex3f( 1.0f, -1.0f, -1.0f); // 四边形的左下 // 顶面 glColor3f(0,0,1); glVertex3f(-1.0f, 1.0f, -1.0f); // 四边形的左上glVertex3f(-1.0f, 1.0f, 1.0f); // 四边形的左下glVertex3f( 1.0f, 1.0f, 1.0f); // 四边形的右下glVertex3f( 1.0f, 1.0f, -1.0f); // 四边形的右上// 底面 glColor3f(1,1,0); glVertex3f(-1.0f, -1.0f, -1.0f); // 四边形的右上glVertex3f( 1.0f, -1.0f, -1.0f); // 四边形的左上glVertex3f( 1.0f, -1.0f, 1.0f); // 四边形的左下glVertex3f(-1.0f, -1.0f, 1.0f); // 四边形的右下// 右面 glColor3f(0,1,1); glVertex3f( 1.0f, -1.0f, -1.0f); // 四边形的右下glVertex3f( 1.0f, 1.0f, -1.0f); // 四边形的右上glVertex3f( 1.0f, 1.0f, 1.0f); // 四边形的左上glVertex3f( 1.0f, -1.0f, 1.0f); // 四边形的左下// 左面 glColor3f(1,0,1);

数字图像处理实验报告

数字图像处理试验报告 实验二:数字图像的空间滤波和频域滤波 姓名: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大小的拉普拉斯算子对

多时相遥感图像配准实验报告

Harbin Institute of Technology 多时相遥感图像配准 实验报告 课程名称:遥感信息处理导论 院系:电子与信息工程学院 姓名: 学号: 授课教师: 哈尔滨工业大学

1. 实验目的 对于通过遥感平台获取的遥感数字影像,由于扫描过程中受地球曲率、地球自转、平台姿态、扫描方式等因素的影响,所获取的图像往往会产生不同程度的几何误差,这些误差如若不经处理,对图像的后续应用如分类、目标检测等会产生很大影响。本实验的目的就是利用多项式映射和重采样等方法对两幅不同时间采集的遥感图像进行几何校正处理,从而方便从配准图像中找到不同时相内发生变化的地物目标信息。 2. 实验原理 图像的配准过程主要可以分为三个过程:控制点对选取(自动或手动)、坐标映射函数拟合、映射后像素重采样。 1) 控制点对选取 对于图像匹配过程,首先要通过控制点对建立两幅图像间的坐标联系。控制点的选取有可分为自动和手动两种方式。对于自动选取,可以采用SIFT 等算法实现;对于手动选取,需要实验人员通过目测观察的方法找到不同时相的遥感图像中的相同目标,这些控制点可以是建筑物的顶点、道路等的交叉点等或其他较容易分辨的位置。 选出控制点后将这些点的坐标信息记录下来,值得注意的是所选控制点的数量、分布情况以及精度会直接影响配准结果的精度和质量。 2) 图像几何校正 图像的配准实质上就是通过图像的几何校正,将产生几何失真的图像转换为标准的数字图像。采用的方法就是通过一定的映射函数将原图像的像素坐标转换为标准图像中的坐标 (,)u f x y = (,)v g x y = 其中(,)x y 表示原图像中的像素坐标值,(,)u v 表示参考图像中的像素坐标值。 映射函数的选择可以有多种形式,一般较为简单常用的是多项式函数,以二次多项式函数为例,映射函数的具体形式为 22 01234522 012345u a a x a y a xy a x a y v b b x b y b xy b x b y ?=+++++?=+++++? 其中,05, ,a a ,05,,b b 分别表示二次多项式横纵坐标映射函数中对应项的系 数,通过选定控制点,可以将这些系数项求解出来。 假设在两幅图像中总共选择了n 对控制点,根据n 对控制点的坐标 (,)~(,)i i i i x y u v 可以得到如下两个方程组,

语音识别机器人实验报告

开放实验项目报告 项目名称:语音识别机器人 专业 学生姓名 班级学号 指导教师 指导单位 2012/2013学年第一学期 一.设计背景

在科学日新月异的今天,电子设备的便捷化,人性化,智能化已成为不可逆转的潮流,而语音控制智能,更是其中研究发展的热点。凌阳SPCE061以其便捷的操作,可靠的性能,成为了各位电子爱好者的首选。本实验采用凌阳61板和运动小车(迷你型)模组设计的语音控制小车。凌阳板嵌入小车模型顶部。语音处理技术不仅包括语音的录制和播放,还涉及语音的压缩编码和解码、语音的识别等各种处理技术。本设计的语音控制小车,借助于SPCE061A在语音处理方面的特色,不仅具有前进、后退、左转、右转、停止等基本程序控制功能,而且还具备语音控制功能。 二.总流程图

三.主要模块 1、凌阳SPCE061是继μ’nSP?系列产品SPCE500A等之后凌阳科技推出的又一款16 位结构的微控制器。与SPCE500A不同的是,在存储器资源方面考虑到用户的较少资源的需求以及便于程序调试等功能,SPCE061A里只内嵌32K字的闪存(FLASH )。较高的处理速度使μ’nSP?能够非常容易地、快速地处理复杂的数字信号。因此,与SPCE500A相比,以μ’nSP?为核心的SPCE061A 微控制器是适用于数字语音识别应用领域产品的一种最经济的选择。 其性能如下: A、16 位μ’nSP?微处理器; B、工作电压(CPU) VDD 为2.4~3.6V (I/O) VDDH 为2.4~5.5V C、CPU 时钟:0.32MHz~49.152MHz ; D、内置2K 字SRAM; E、内置32K FLASH; F、可编程音频处理; G、晶体振荡器; H、系统处于备用状态下(时钟处于停止状态),耗电仅为2μA@3.6V ; I、2 个16 位可编程定时器/计数器(可自动预置初始计数值); J、2 个10 位DAC(数-模转换)输出通道; K、32 位通用可编程输入/输出端口; L、14 个中断源可来自定时器A / B ,时基,2 个外部时钟源输入,键唤醒;

X-opengl立方体的简单三维交互式几何变换实验报告代码

立方体的简单三维交互式几何变换 立方体的简单三维交互式几何变换。 功能:键盘的方向键实现立方体的上下左右平移;A键,S键分别实现向前,向后旋转;J键,K键分别实现放大,缩小;C键退出。 程序模块: 1.重绘回调函数,在窗口首次创建或用户改变窗口尺寸时被调用。void reshape(int w, int h) { glViewport(0, 0, w, h);// 指定视口的位置和大小 glMatrixMode(GL_PROJECTION); glLoadIdentity(); //glFrustum(-1.0, 1.0, -1.0, 1.0, 3.1, 10.0); //gluPerspective(45,1,0.1,10.0); glOrtho(-2.0, 2.0, -2.0, 2.0, 2.0, 10.0); } 2.绘制一个立方体。 void DrawBox() { glBegin(GL_QUADS); //前面

glColor3f(1,0,0); glVertex3f(-1.0f, -1.0f, 1.0f); // 四边形的左下glVertex3f( 1.0f, -1.0f, 1.0f); // 四边形的右下glVertex3f( 1.0f, 1.0f, 1.0f); // 四边形的右上glVertex3f(-1.0f, 1.0f, 1.0f); // 四边形的左上// 后面 glColor3f(0,1,0); glVertex3f(-1.0f, -1.0f, -1.0f); // 四边形的右下glVertex3f(-1.0f, 1.0f, -1.0f); // 四边形的右上glVertex3f( 1.0f, 1.0f, -1.0f); // 四边形的左上glVertex3f( 1.0f, -1.0f, -1.0f); // 四边形的左下 // 顶面 glColor3f(0,0,1); glVertex3f(-1.0f, 1.0f, -1.0f); // 四边形的左上glVertex3f(-1.0f, 1.0f, 1.0f); // 四边形的左下glVertex3f( 1.0f, 1.0f, 1.0f); // 四边形的右下glVertex3f( 1.0f, 1.0f, -1.0f); // 四边形的右上// 底面 glColor3f(1,1,0); glVertex3f(-1.0f, -1.0f, -1.0f); // 四边形的右上glVertex3f( 1.0f, -1.0f, -1.0f); // 四边形的左上glVertex3f( 1.0f, -1.0f, 1.0f); // 四边形的左下

数字图像处理实验报告

数字图像处理实验 报告 学生姓名:学号: 专业年级: 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()同样可以通过除以一个常数来改变原始图像的亮度,可用来改变图像的灰度级,其典型运用是比值图像处理。 加法运算的一个重要应用是对同一场景的多幅图像求平均值 减法运算常用于检测变化及运动的物体,图像相减运算又称为图像差分运算,差分运算还可以用于消除图像背景,用于混合图像的分离。

ENVI实验报告

一、实验目的 ENVI是一套功能齐全的遥感图像处理系统,是处理、分析并显示多光谱数据、高光谱数据 和雷达数据的高级工具。此次实习主要是学习一些关于ENVI的基本操作,如:图像预处理,影像分析,图像增强,几何校正,监督分类以及专题制图等步骤。 二、实验数据 ELEVATION_SOURCE = "GLS2000" EPHEMERIS_TYPE = "DEFINITIVE" SPACECRAFT_ID = "Landsat7" SENSOR_ID = "ETM+" SENSOR_MODE = "SAM" ACQUISITION_DATE = 2000-09-24 WRS_PATH = 144 三、实验内容 1.遥感数据下载 2.数据格式转化及多波段的合成 3.图像边框的裁剪 4.图像的镶嵌 6.图像几何校正 7.裁剪 8.监督分类 9.专题出图 四、实验步骤 1.遥感数据下载 输入地名及日期,搜索符合自己通途的数据,查看并下载

2.数据格式转化及多波段的合成 由于下载图像的格式tif格式,需要转成img格式。并将单波段融合成为多波段,这一步在erdas中完成。 tif转img 单波段融合成多波段 3.图像边框的裁剪 通过主图像窗口-tools-region?of?interest-roi?tool,然后自己在图像上定义出一块感兴趣区(实际中难于确定严格准确的裁剪界限)。 4.图像的镶嵌 Map→mosaicking→georeferenced 启动镶嵌模板 6.图像几何校正 设置参数,参数在原始数据中的txt中可以查看 启动校正模块,并利用google地球进行校正 7.裁剪 分别打开需要裁剪的图像和所在区域的shapefile文件 将矢量文件转成ROI 利用ROI裁剪图像 选择主菜单→basic tools→subset data via ROIS,选择裁剪图像 在spatial subset via ROI parameters中,选择由矢量生成的

数字语音信号处理实验报告

语音信号处理实验报告 专业班级电子信息1203 学生姓名钟英爽 指导教师覃爱娜 完成日期2015年4月28日 电子信息工程系 信息科学与工程学院

实验一语音波形文件的分析和读取 一、实验学时:2 学时 二、实验的任务、性质与目的: 本实验是选修《语音信号处理》课的电子信息类专业学生的基础实验。通过实验 (1)掌握语音信号的基本特性理论:随机性,时变特性,短时平稳性,相关性等; (2)掌握语音信号的录入方式和*.WAV音波文件的存储结构; (3)使学生初步掌握语音信号处理的一般实验方法。 三、实验原理和步骤: WAV 文件格式简介 WAV 文件是多媒体中使用了声波文件的格式之一,它是以RIFF格式为标准。每个WAV 文件的头四个字节就是“RIFF”。WAV 文件由文件头和数据体两大部分组成,其中文件头又分为RIFF/WAV 文件标识段和声音数据格式说明段两部分。常见的WAV 声音文件有两种,分别对应于单声道(11.025KHz 采样率、8Bit 的采样值)和双声道(44.1KHz 采样率、16Bit 的采样值)。采样率是指声音信号在“模拟→数字”转换过程中,单位时间内采样的次数;采样值是指每一次采样周期内声音模拟信号的积分值。对于单声道声音文件,采样数据为8 位的短整数(short int 00H-FFH);而对于双声道立体声声音文件,每次采样数据为一个16 位的整数(int),高八位和低八位分别代表左右两个声道。WAV 文件数据块包含以脉冲编码调制(PCM)格式表示的样本。在单声道WAV 文件中,道0 代表左声道,声道1 代表右声道;在多声道WAV 文件中,样本是交替出现的。WAV 文件的格式 表1 wav文件格式说明表

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

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

相关主题
文本预览
相关文档 最新文档