常用图像的文件格式

2025-01-27

常用图像的文件格式(精选2篇)

1.常用图像的文件格式 篇一

电子杂志常用文件格式有

*.IE / *.IM / *.JPG /*.PNG /*.bmp /*.SWF/ *.MP3 / *.IEBK / *.EXE /*.FLV/*.ICO/*.GIF/*.ATT 等等

*.ie 格式 iebook 超级精灵电子杂志制作软件内置组件格式。

*.im 格式 iebook 超级精灵电子杂志制作软件模板文件格式。寓意iebook模板。

*.jpg 格式 JPEG图像格式:扩展名是JPG,其全称为Joint Photograhic Experts Group。JPEG是一个可以提供优异图像质量的文件压缩格式,JPG文件的优点是体积小巧,并且兼容性好,是最常见的相片文件格式。大多数数码相机都以JPEG格式保存相片。JPEG格式经常以“.jpg”或者“.jpe”的文件扩展名出现。

*.bmp 格式 Microsoft windows 的标准位图格式,很多软件都支持,是很通用的格图像格式。

*.png 格式 常用的图片透明格式,PNG 支持高级别无损耗压缩。PNG 支持 alpha 通道透明度。PNG 支持伽玛校正。PNG 受最新的 Web 浏览器支持。

*.swf 格式 Flash输出的动画文件格式,网站上常用的动画格式文件,iebook支持直接在页面上导入SWF动画文件

*.mp3 格式 电子杂志背景音乐文件

*.iebk 格式 iebk为iebook超级精灵电子杂志制作软件源文件格式,此格式为可重复编辑文件格式。(要编辑和识别此格式文件须安装iebook超级精灵2008软件)

*.exe 格式 EXE为windows操作系统可直接执行文件。iebook超级精灵2008电子杂志制作软件生成后的电子杂志为EXE格式文件。EXE格式文件无需安装iebook软件或任何插件即可直接运行观看。

*.flv 格式 FLV是 FLASH VIDEO 的简称,FLV串流媒体格式是一种新的视频格式,它的出现有效地解决了视频文件导入Flash后,使导出的SWF文件体积庞大,不能在网络上有效使用等缺点。它的优点是在线播放视频快速。目前YouTube,Google Video,Yahoo!Video,MySpace,土豆网等大部分视频分享网站均采用这个格式。

*.ico 格式 ico是Windows的图标文件格式。

*.gif 格式 不但能记录256色的彩色图像,还能在一个文件中记录多帧图像形成小动画,我们网上常见的小动画大多是GIF格式

*.att 格式 iebook超级精灵2011版 电子杂志附件图标

2.常用图像的文件格式 篇二

基于上述考虑,为了拓展MATLAB的应用范围,增强程序的可移植性和通用性,本文介绍了一种如何利用MATLAB提供的一套可供Visual C++调用的API函数集来实现在Visual C++中访问MAT数据格式的三维扫描图像文件的方法。结合MATLAB强大的计算能力、VISUAL C++良好的用户接口与界面和OpenGL在三维图像的处理方面的优势来实现对三维图像的显示、操作与处理。作者使用的编译环境是:MS Visual C++6.0与MATLAB 7.0。

1 MAT文件格式与OpenGL简述

MAT文件是以二进制形式存储的数据文件,是MATLAB最主要的数据存储格式。MAT文件由一个128字节文件头与一个或者多个数据单元组成,每个数据单元又包含一个8字节的数据标签与一个数据(变量)块。文件头里保存着MATLAB的版本,创建平台、日期与时间的信息;数据标签中前四个字节是该数据单元中数据块的类型,后四个字节是该数据单元中数据块的长度。

OpenGL是SGI(Silicon Graphics,Inc.)公司开发的一个非常优秀的开放式、可独立于操作系统和硬件环境的三维图形软件库,早期主要应用在专业的图形工作站上。近几年随着微机硬件性能的显著提高,在微机中有广泛地应用。由于其开放性和高度可重用性目前已成为高性能图形和交互式视景处理的工业标准。

2 Visual C++编译环境的设置

Visual C++与MATLAB和Visual C++与OpenGL之间的连接都是通过动态连接库进行的,为了让Visual C++与MATLAB之间,Visual C++与OpenGL之间无缝的连接,必须对Visual C++的开发环境进行相应的设置。我们以在Visual C++中生成一个单文档工程为例进行说明。

2.1 Visual C++与MATLAB连接的编译环境设置

MATLAB提供的API函数集封装于下面两个标准DLL文件中:libmat.dll,libmx.dll。前者用于对MAT文件的操作,后者用于对MAT文件中矩阵的操作。它们的存放在MATLAT安装目录下的bin目录中,还有两个对应的导出库文件libmat.def与libmx.def,以及其导出函数的原型mat.h和matrix.h,它们都位于MATLAT安装目录下的include文件夹中。环境的设置只需一次,以后运行就不需要再进行设置了。首先在Visual C++中设置包含路径,选择菜单【Tools】→【Options】,在弹出的Options对话框中选择Directories标签,在该对话框中选择Include files选项,并在该文本框中添加D:MATLAB7EXTERNINCLUDE,接着选择Library files选项,并在该文本框中添加D:MATLAB7EXTERNLIBWIN32MICROSOFTMSVC60。我们假定MATLAB7安装在D盘的根目录下。然后在新建的工程的预编译头文件StdAfx.h包含mat.h与matrix.h两个头文件。最后设置编译器的链接选项,选择菜单【Project】→【Settings】,在弹出的Project Settings对话框中选择Link标签,在该对话框的Object/Library Modules文本框中加入libmat.lib与libmx.lib两个链接库。

2.2 Visual C++与OpenGL连接的编译环境设置

由于Visual C++6.0中已经包含了OpenGL的三个核心的动态链接库与对应的导出库文件,一般不需要设置包含路径。编译器的链接选项的设置与上面的方法相同,在Object/Library Modules文本框中加入OpenGL32.lib、gul32.lib与glaux.lib三个链接库即可。在预编译头文件StdAfx.h中加入gl/gl.h、glglu.h、glglaux.h和glglut.h四个头文件。

2.3 OpenGL图形绘制环境设置与编程步骤

OpenGL的绘图方式与Windows的一般的绘图方式是不同的,只要区别表现在以下3个方面[1]:

1)Windows采用的是GDI(Graphics Device Interface)绘图。

2)OpenGL采用的是渲染上下文RC(Render Context,又称渲染描述表)绘图。

3)OpenGL使用的是特殊的像素格式。

对于MFC AppWizard建立的单文档应用程序,进行OpenGL编程的步骤为:

1)编写创建函数(生成绘制描述表并设置当前绘制描述表)。

2)编写销毁函数,清除位图,定时器等资源及设备场景。

3)修改Cview类的样式。

4)编写OnDraw事件处理程序。

5)在OnSize方法中定义当前视区、投影模型和物体模型以及光源等。

6)编写OnTimer事件处理函数。

7)编写OpenGL绘制程序。

3 数据读取

在读取MAT数据之前,我们必须知道MAT数据中包含的变量名称,变量的类型以及变量数据块的大小。这些信息可以通过MATLAB提供的函数很容易的得到。我们以一个三维颅面扫描图像MAT文件格式的数据为例进行说明。这个MAT数据包含两个数据块,一个点坐标数据块,变量名是”Points”。另一个是三角形面片的点序数据块,变量名是“Facets”。两个数据块的数据类型都为双精度浮点型。根据这些信息,我们自定义了一个如下的结构体:

其中tVector3与tFacet也都是自定义结构体,定义分别如下:

数据读取的主要代码如下:

4 图像显示

图像的显示分为三个步骤,分别是各个三角面片法向量的计算,光照环境的设置与3D模型的绘制。法向量的计算与光照环境的设置在文献[1,2]里有详细的介绍。计算出的法向量保存在对象结构的法向量变量中。下面主要列出3D模型的绘制代码。

5 结束语

本文提出的这种方法使我们能把复杂的计算过程留给MATLAB,而用Visual C++结合OpenGL对计算结果进行分析和可视化处理。这样通过三者的紧密结合,很大程度上降低了编程的难度和工作量,缩短了软件的开发周期,提高了软件的可靠性。同时,本文的方法不仅仅只是限于3D扫描图像数据的读取,对于任何MAT数据格式的文件都是适合的,这必定能极大的拓展MATLAB的应用范围,无疑会给我们的科研和工作实践带来很大的便利和显著的经济效益。对于以上的方法,作者已经在自己的工作中成功的加以利用,实践证明该方法具有很强的可靠性与实用性。

摘要:介绍一种在VisualC++开发环境中,利用MATLAB的API函数集并结合OpenGL对MAT数据格式的三维扫描图像的读取与显示方法,并以三维扫描颅面图像为例,详细的说明了整个的实现过程。

关键词:OpenGL,Visual C++,MATLAB,三维扫描图像,MAT

参考文献

[1]和平鸽工作室.OpenGL三维图形系统开发与实用技术(基础编程篇)[M].北京:清华大学出版社,重庆:重庆大学出版社,2003.

[2]和平鸽工作室.OpenGL三维图形系统开发与实用技术(实用技术篇)[M].北京:清华大学出版社,重庆:重庆大学出版社,2003.

[3]张威.MATLAB外部接口编程[M].西安:西安电子科技出版社,2004.

上一篇:总工会公文传输系统管理制度下一篇:市长在在全市重点项目督查工作会上的讲话