当前位置:首页 > 癌症是一种严重威胁人类健康和生命的疾病
据量减少而不丢失有用的信息称为图像的数据压缩。对于连续图像,即空间分布和亮度取值均连续分布的图像,计算机无法接收和处理。图像数字化就是将连续图像离散化,其工作包括两个方面:采样和量化。所谓采样,就是把一幅连续图像在空间上分割成M×N个网格,每个网格用一亮度值来表示。由于结果是一个样点值阵列,故又叫点阵采样。采样把连续图像变为离散的点状图像,这是图像进入计算机进行处理的重要步骤91。采样使连续图像在空间上离散化,但采样点上图像的亮度值还是某个幅度区间内的连续分布。根据采样定义,每个网格上只能用一个确定的亮度值表示。把采样点上对应的亮度连续变化区间转换为单个特定数码的过程,称之为量化,即样点亮度的离散化。连续图像经过采样、分层、量化、编码等步骤变成数字图像才能进入计算机进行处理。图像首先在印刷行业中采用,如报纸的钢版印刷图像和书籍中的照片。它们的离散点很小, 。般需放大镜才能分辨其点状结构,因此不存在重建问题,因为人眼不能分辨这样细的颗粒,所以经人的视觉重建必然成为模拟图像,这是一种图像重建的模型。目前在计算机图像处理中所分的离散点远不如印刷钢版那样细,这种离散的图像对人的感觉来讲仍是颗粒状的。如何使离散图像在人感觉中与模拟图像相同,需采取相应的处理技术,这就是从离散图像重建模拟图像的技术,简称为图像重建。模拟图像若在X方向采M个点,Y方向采N个点,就可得到M×N个点的数字化图像的形式。采样是图像进入计算机的第一个处理过程。二维图像用二维冲击函数来采样i采样函数是沿x方向间隔为△X,沿Y方向间隔为△y的函数阵列,形成以△X、△y 为间距的矩阵形采样网格。采样后的图像只是在空间上被离散化,成为样本的阵列,每个取样样本称为像素,用ple来表示。但是由于原f(X,Y)是连续图像,因此每个可能取值为无穷多个值的量。为了进行计算机处理,必须把无穷多个离散值约简为有限个离散值,即量化,这样才便于赋予每一个离散值互异的编码以进入计算机。为了方便计算机进行数据处理,有限个离散值的个数常用2“来表示,这个过程是把每一个离散样本的连续灰度值只分成有限多的层次,称分层量化。 把原图像灰度层次从最暗至最亮均匀分为有限个层次称均匀量化,如果采用不 均匀分层就称为非均匀量化。用有限个离散灰度值表示无穷多个连续灰度的量必然引起误差,称为量化误差,有时也称为量化噪声。量化分层越多,则量化误差越小;而分层越多则编码进入计算机所需比特数越多,相应地影响运算速度及处
理过程。另外量化分层的约束来自图像源的噪声,即最小的量化分层应远大于噪声,否则太细的分层将被噪声所淹没而无法体现分层的效果。也就是说噪声大的图像,分层太细是没有意义的:反之要求很细分层的图像才强调极小的噪声。如某些医用图像系统把减少噪声作为主要设计指标,是因为其分层数要求2000层以上,而一般电视图像的分层用200多层己级满足要求。计算机图像处理和计算机、多媒体、智能机器人、专家系统等技术的发展密切相关。近年来计算机识别、理解图像的技术发展很快,图像处理除了直接供人观看外,还发展了与计算机视觉有关的应用,包括邮件自动分拣、车辆自动驾驶等。下面仅列举一些典型应用实例,实际应用远远超出以下的内容。
第三章IVIATLAB综述肿瘤图象分析
具有Fortran语言和c语言编程经验的读者可能有这样的体会,当涉及到矩阵运算或画图时,编程会很麻烦。例如,我们想要求解一个线性代数方程组,必须首先编写一个主程序,然后编写一个子程序去读入各个矩阵的元素,然后再编写一个子程序,求解相应的方程,最后输出计算结果。如果计算子程序不可靠,所得的计算结果就会出现问题。如果没有标准子程序可以调用,则用户往往需要用户编写100条左右的源程序,仅键入和调试就是很繁琐的,而且还无法保证所键入的程序一次就全部可靠。1980年前后,Matlab的首创者Cleve Moler博士在New Mexico大学讲授线性代数课程时,看到了用高级语言编程解决工程计算问题的诸多不便,因而构思开发了Matlab软件(Matrix Laboratory,矩阵实验室)。该软件利用了Moler博士在此前开发的LINPACK(线性代数软件包)和EISPACK(基于特征值计算的软件包)中可靠的子程序,用Fortran语言编写而成,集命令翻译,工程计算功能于一身“。与Fortran语言和C等高级语言比较,Matiab的语法规则更简单,更重要的是它贴近人思维方式的编程特点,使得用Matlab编写程序有如在便笺上列公式和求解。
3.1 MATLAB的功能和组成
80年代初期,Cleve Meier和John Little采用C语言改写了Matlab的内核。不久,他们成立了Mathworks软件开发公司并将Matlab正式推向市场。 3.1.1 MATLAB的功能
现在的Matlab新版本早已不只停留在工程计算功能上,它由圭包、Simulink 以及功能各异的工具箱组成,以矩阵运算为基础,把计算、可视化、程序设计融会到了一个简单易用的交互式工作环境中。在这晕可以实现工程计算、算法研究符号运算、建模和仿真、原型}:发、数据分析及可视化、科学和工程绘图、应用程序设计(包括图形用户界面设计)等功能。证是凭借Mattab的这些突出的优势,它现在己成为世界上应用最广泛的工程计算软件。在美国等发达国家的大学
里Matlab是一种必须掌握的基本工具,而在国外的研究设计单位和工业部门,更是研究和解决工程计算问题的一种标准软件。在国内也有越来越多的科学技术工作者参加到学习和倡导这门语言的行列中来。在大家的共同努力下,Matlab正在成为计算机应用软件中的一个新热点。 3.1.2 Matlab的组成
Matlab软件主要由主包、Simulink和工具箱3部分组成。 1、Matlab主包
Matlab主包包括以下5个部分; (1)Matlab语言
Matlab语言是一种基于矩阵/数组的高级语言,它具有流程控制语句、函数、数据结构、输入输出,以及面向对象的程序设计特性。用Matlab语言可以迅速地建立临时性的小程序,也可以建立复杂的大型应用程序。 (2)Matlab工作环境
Matlab工作环境集成了许多工具和程序,用户用工作环境中提供的功能完成他们的工作。Matlab工作环境给用户提供了管理工作空间内的变量和输入、输出数据的功能,并给用户提供了不同的工具用以丌发、管理、调试M文件和Matlab应用程序。 (3)句柄图形
句柄图形是Matlab的图形系统。它包括一些高级命令,用于实现二维和三维数据可视化、图像处理、动画等功能;还有一些低级命令,用来定制图形的显示以建立Matlab应用程序的图形用户界面。 (4)Matlab数学函数库
Matlab数学函数库是数学算法的一个巨大集合,该函数库既包含了诸如求和、正弦、余弦、复数运算之类的简单函数;也包含了矩阵转置、特征值、贝塞尔函数、快速傅立叶变换等复杂函数。r’ (5)Matlab应用程序接口(API)
Matlab应用程序接口是一个Matlab语言+向C和Fortran等其他高级语言进行交互的库,包括读写Matlab数据文件(MAT文件)。
共分享92篇相关文档