文档库 最新最全的文档下载
当前位置:文档库 › 用VB写高效的图像处理程序

用VB写高效的图像处理程序

用VB写高效的图像处理程序
用VB写高效的图像处理程序

用VB写高效的图像处理程序

自盘古开天地以来(好像夸张了点),一直有人抱怨VB程序速度慢。特别是图像处理,被认为是VB的禁区。说起来也是,市面上的关于VB的图像处理的数据都是先讲计算公式,再直接用PSet(或API函数SetPixel)逐点画(至少我见过的书都是这样)。效果是办到了,但速度慢得离谱:对一幅640*480的图像进行半透明合并就需要10秒钟;而在PhotoShop中,只要一设置图层的透明度,半透明效果立即呈现。难怪有人说VB的闲话。

但这并不表示VB不能写高速的图像处理程序,速度慢是因为没有使用正确的方法。

从VB5开始,能以本机代码编译成exe文件,所以不存在代码执行速度的问题。那么,是什么拖慢了速度呢?就是PSet和SetPixel!PSet把浮点形式的坐标转为像素单位,再交给SetPixel处理。而SetPixel呢,坐标系转化、剪裁区域判断、将颜色匹配为设备支持的最接近的,最后还要根据不同的颜色格式寻址、为将颜色写入其所在位进行位运算。经过这么多层处理,速度不慢才怪。

那么,怎样才能提高处理速度呢?使用DIB,直接对位图所在内存进行操作,速度可以大大提高。现在看看,这只是一个简单的色彩演示程序。

从这个表中可看出:

1.VC比VB_DIB、VB_DIB_Ptr快两倍,这是因为SafeArray结构的数组比真正的指针慢,但也不是某些人所说的70~100倍;

2.VB_DIB_Ptr比VB_DIB慢一点,这是因为模拟指针本来就是靠SafeArray结构的数组,而且模拟指针需要对两个数组进行操作,所以速度慢一点;

3.真正差了70~100倍是VB_PSet和VB_SetPixel,特别是

VB_PSet在Windows98下与VB_DIB差了145倍。

以上可证,速度慢的原因是SetPixel非常低效,而并不是VB的问题。虽然VC的的确比较快,但是我写这篇文章不是为了讨论速度极限(否则这篇文章会改名为《如何用汇编写高速的图像处理程序》),而是为了告诉大家如何在VB中写能够实时处理的图像处理程序。

在 Windows 3.0 以前,Windows系统用的是DDB(设备有关位图)。DDB没有调色板,显示的颜色依赖硬件,处理色彩很不方便。所以Microsoft 在 Windows 3.0中重新定义了BMP文件格式(BMP 3.0),使其支持设备无关位图——也就是DIB。

时至今日,BMP的版本号已升至5.0(Windows NT 4.0、Windows95 定义了 BMP 4.0,Windows 98、Windows 2000 定义了 BMP 5.0),但基本结构没有变——仍是 BMP文件头和 DIB 组成:

(#代表可以不填(=0)的项目)

调色板

只有biBitCount等于1、4、8时才有调色板。调色板实际上是一个数组,

用DIB写图像处理程序的时候,首先要明确一点:DIB并不是图像处理算法,而是一种绘图方法。处理算法比DIB高一级,管理坐标和颜色的运算;而DIB只是为了绘制。所以此时处理算法的效率是速度的关键。

利用DIB绘制图像并没有比用PSet/SetPixel绘制差多少,它只是把坐标运算改成地址运算而已。很多人知道指针是一个危险的东西,就是因为它能直接访问内存,如果指针不小心指错地方的话,Windows立即报告一般保护性错误。所以,在地址运算的时候一定要小心,同时要注意随时保存,因为此时的非法操作的发生率非常高,否则辛辛苦苦写的代码一瞬间没了可别怪我没提醒啊。

好了,现在开始!

由于处理算法起指导作用,所以现在先讲解VB_PSet。所有的代码都在FrmMain.frm中。其他的过程的代码可以不看,现在将注意力集中在“DrawIt”中,它就是管绘制的。

其实我这个演示程序蛮简单的:R分量延着水平方向增加,G分量延着垂直方向增加,B分量则从右往左滚动。什么?!“And &HFF”是什么意思?!这可是基础啊……(下略&HFFFF...字)。“&H”表示十六进制数,而And表示按位与。&HFF是二进制的“1111 1111”,正好覆盖了低8位,这时用And进行按位与,只会得到低8位,与RGB分量需要的8位正好符合(对于“(J + K) And &HFF”来说,可以实现滚动效果)。

If Not 看明白了 Then Goto 前两段

好!现在打开VB_DIB。(由于24位能直接指定RGB分量,所以这里是用的是24位DIB)

看了前面的“DIB的结构”,是不是有点昏呢?其实DIB也没什么,就是一个表述位图信息的BITMAPINFO结构和一个存储位图数据的数据缓冲区,顶多再用SetDIBitsToDevice绘制,所以VB_DIB 与VB_PSet相比只是多了SetDIBitsToDevice、BITMAPINFOHEADER(24位DIB没有调色板,所以用BITMAPINFOHEADER就行)和一些常数的声明而已。由于这个演示程序不需要改变图像大小和色深,所以可以把有关变量作为窗体级变量,再在Form_Load中初始化。由于DIB并没有向系统申请资源(数组的内存是VB分配的,会自动释放),所以不需要写释放代码。

现在来看DrawIt。

1.虽然可以逐点把坐标映射成地址再写,但是这样效率太低了,可以利用坐标处理的连续性进行优化。

2.由于我这里用的是数组,所以这里用(数组元素)索引代替地址。

3.最开始要注意DIB是逆序存储的,要将索引设为最后一行第一个像素的索引。

4.由于DIB的RGB顺序是B、G、R,所以“MapData(CurIdx + ?)”的顺序是2、1、0。

5.设置好一个像素的颜色后,要注意把索引改为下个像素的索引。

6.由于DIB是逆序存储的,移到下一个扫描行是“LineIdx = LineIdx - LineBytes”

“好了,代码看懂了,按F5运行看看效果。”

“咦?速度好像没快多少啊?”

这是由于程序在VB环境下是以解释方式运行的,而解释方式对做图像处理所需要大规模循环和大量的算术运算的执行效率很低,所以要编译成(本机代码)exe再运行。此时还要注意编译优化,可以把“高级优化”的所有勾打上,速度可提升20%左右。

虽然有GetDIBits/SetDIBits函数,但是DIB与GDI位图之间的数据交换还是很不方便,特别处理过程中需要调用GDI函数来处理的时候。而且就算你不怕麻烦,但这样做的处理效率很低。所以Windows 为我们提供了DIBSection。DIBSection是一种特殊的DIB,它除了可以像DIB一样直接对位图数据所占内存进行操作,它还可以选入DC、能用GDI函数绘制,非常灵活。但在VB下使用DIBSection还是有困难的,因为用CreateDIBSection创建DIBSection时,得到的是位图数据的地址,而VB没有指针。

所幸在VB下可以利用SafeArray结构的数组模拟指针。关于模拟指针的原理、方法,网上的资料多的是,比如的文章“”。但这些文章都只是讲一般性的应用,不能像真正的指针一样随意改变地址(他们都是使用CopyMemory改的)。而在图像处理中,由于点运算的频繁,“像真正的指针一样随意改变地址”的功能很重要。

其实“像真正的指针一样随意改变地址”并没有技术难度(对于已经学会模拟指针的人来说),就看想得到不:再用一个数组(设pDataPtr)控制模拟指针(设pData)的地址,这样可以用pDataPtr 控制地址,用pData访问数据。

由于需要建立两个模拟指针,导致代码写起来比较烦,于是我想写个“模拟指针代码生成器”(在(ImgTest.zip的)MakeSAPtr目录中)。虽然模拟指针建立方法有很多种,但是大多需要临时变量来保存地址,不适合批量生成,所以我只有改成这种方法(指“模拟指针代码生成器”自动生成的那种)。这种方法也许对通过看AdamBear

的文章学模拟指针的人会造成困惑,这是因为AdamBear在说明VarPtrArray返回的值是SafeArray的地址的地址时没讲全:VarPtrArray返回的值是 VB存储数组信息的变量的地址,可通过改变该变量的值使数组用另一个SafeArray。

现在来看VB_DIB_Ptr:

1.为了演示DIBSection能够像HBITMAP一样,我在Form_Load 中创建了DC、将DIBSection选入DC。同时为了释放,Form_UnLoad 中写了释放代码。

2.在DrawIt中,注意处理部分的代码并没有与VB_DIB差多少,只不过把索引计算改为地址运算而已。

彩色图像处理

1种颜色 颜色定义:颜色是对象的一种属性,它取决于三个因素。 (1)光源-照射光的光谱特性或光谱能量分布 (2)物体-被照射物体的反射特性 (3)成像接收器(眼睛或成像传感器)-光谱能量吸收特性 2色模型 颜色模型,也称为颜色空间或颜色系统,是用于精确校准和生成各种颜色的一组规则和定义。其目的是在某些标准下以通常可接受的方式简化颜色规格。可以通过坐标系描述颜色模型,并且系统中的每种颜色都可以由坐标空间中的单个点表示。 RGB模型:此模型是行业中的颜色标准。通过更改红色和绿色蓝色三种颜色的亮度及其叠加,可以获得各种颜色。该标准几乎涵盖了人类视觉可以感知的所有颜色,并且是目前使用最广泛的颜色模型之一。

CMY模型:颜色合成方法由绿色,品红色和黄色三种基本原色组成。因为彩色显示不是直接来自光的颜色,而是光被对象吸收并被产生的残留光反射,所以CMY模型也称为减法混合模型。 CMYK模型:将黑色添加到CMY模型。 RGB和CMY之间的转换:在MATLAB中,可以通过imcompliance()函数轻松实现RGB和CMY之间的转换 cmy = imcomplement(rgb); rgb = imcomplement(cmy); HSI模型:HSI模型基于人类视觉系统,并通过使用色相,饱和度和强度三个元素直接描述颜色 @亮度是指人们感到光亮的阴影。光的能量越大,亮度越大。 @Hue是颜色的最重要属性,它决定颜色的本质,颜色的本质由反射光的主波长确定。不同的波长产生不同的色彩感觉。

@饱和度是指颜色的深度和强度,饱和度越高,颜色越深。饱和深度与白色的比率有关,白色比率越大,饱和度越低。 从RGB到HSI的颜色转换及其实现 数字; 子图(1,2,1); rgb = imread('plane.bmp)。 imshow(rgb); title('rgb'); 子图(1,2,2); hsi = rgb2hsi(rgb); imshow(hsi); title('hsi'); 从HSI到RGB的颜色转换及其实现 数字 子图(1,2,1);

基于MATLAB的数字二值图像处理与形状分析的实现

本科学生毕业论文 论文题目:基于MATLAB的数字二值图像处理与形 状分析实现 学院:电子工程学院 年级:2011 专业:电子信息科学与技术 姓名:刘学利 学号:20113564 指导教师:王晓飞 2014年06月24日

摘要 数字图像处理是一门新兴技术,随着计算机硬件的发展,数字图像的实时处理已经成为可能.由于数字图像处理的各种算法的出现,使得其处理速度越来越快,能更好地为人们服务.数字图像处理是一种通过计算机采用一定算法对图形图像处理的技术.数字图像处理技术已经在各个领域上有了比较广泛的应用.图像处理的信息量很大,对处理速度的要求也比较高.MATLAB强大的运算和图像展示功能,使图像处理变得更加的简单和直观.本文介绍了MATLAB语言的特点,基于MATLAB的数字图像处理环境,介绍了如何利用MATLAB及其图像处理工具箱进行图像处理的方法.主要论述了利用MATLAB实现图像的二值化,二值图像的腐蚀、膨胀、开、闭等形态学处理. 关键词 MATLAB;数字图像处理;二值图像

Abstract Digital image processing is an emerging technology,with the development of computer hardware,real-time digital image processing has become possible due to digital image processing algorithms to appear,making it faster and faster processing speed,better for people services.Digital image processing is used by some algorithms Computer graphics image processing technology.Digital image processing technology has been used in various areas which have a relatively wide range of applications.The amount of information on the processing speed requirement is relatively high.MATLAB is good at computing and graphics display capabilities,so that image processing becomes more simple and intuitive.This paper introduces characteristics of MATLAB language and this MATLAB-based digital image processing environment,describes how to use the MATLAB Image Toolbox for its digital image processing,and through some examples to illustrate the use of MATLAB Image Processing Toolbox for image processing method.Mainly discuss the use of MATLAB for image processing enhancement,binary image and its corrode and dilate and open and close. Key words MATLAB;digital image processing;image enhancement and binary image

遥感影像图像处理流程

遥感影像图像处理(processing of remote sensing image data)是对遥感图像进行辐射校正和几何纠正、图像整饰、投影变换、镶嵌、特征提取、分类以及各种专题处理等一系列操作,以求达到预期目的的技术。 一.预处理 1.降噪处理 由于传感器的因素,一些获取的遥感图像中,会出现周期性的噪声,我们必须对其进行消除或减弱方可使用。 (1)除周期性噪声和尖锐性噪声 周期性噪声一般重叠在原图像上,成为周期性的干涉图形,具有不同的幅度、频率、和相位。它形成一系列的尖峰或者亮斑,代表在某些空间频率位置最为突出。一般可以用带通或者槽形滤波的方法来消除。

消除尖峰噪声,特别是与扫描方向不平行的,一般用傅立叶变换进行滤波处理的方法比较方便。 (2)除坏线和条带 去除遥感图像中的坏线。遥感图像中通常会出现与扫描方向平行的条带,还有一些与辐射信号无关的条带噪声,一般称为坏线。一般采用傅里叶变换和低通滤波进行消除或减弱。

2.薄云处理 由于天气原因,对于有些遥感图形中出现的薄云可以进行减弱处理。 3.阴影处理 由于太阳高度角的原因,有些图像会出现山体阴影,可以采用比值法对其进行消除。二.几何纠正

通常我们获取的遥感影像一般都是Level2级产品,为使其定位准确,我们在使用遥感图像前,必须对其进行几何精纠正,在地形起伏较大地区,还必须对其进行正射纠正。特殊情况下还须对遥感图像进行大气纠正,此处不做阐述。 1.图像配准 为同一地区的两种数据源能在同一个地理坐标系中进行叠加显示和数学运算,必须先将其中一种数据源的地理坐标配准到另一种数据源的地理坐标上,这个过程叫做配准。 (1)影像对栅格图像的配准 将一幅遥感影像配准到相同地区另一幅影像或栅格地图中,使其在空间位置能重合叠加显示。 (2)影像对矢量图形的配准 将一幅遥感影像配准到相同地区一幅矢量图形中,使其在空间位置上能进行重合叠加显示。2.几何粗纠正

图像处理过程

图像处理过程 图像处理作为小车走迷宫过程中获得信息的第一过程,对于小车的计算路径和确认位置起到了根本的作用,经过了对于OPENCV和LABVIEW两种软件的了解,我们发现虽然OPENCV 在图像处理方面确实十分强大,但是其扩展性与易用性均不如LABVIEW来的好,我们权衡利弊,决定使用LABVIEW进行对于图像的处理。 LABVIEW以其强大的虚拟仪器库著称,我们在本次小车图像处理中用到了以下的组件: 1. https://www.wendangku.net/doc/3b396708.html,bview 8.2 2. 3. 4. NI-IMAQ FOR USB* *对于XP SP2系统还需要加载ImaqDirectShowDll.dll、ImaqDirectShowExportDll.dll 图像处理部分分为主要由以下几个部分组成的: 1.图像采集 2.图像阈值分析和转化 3.迷宫出入口检测与小车检测 4.迷宫转化成数组(提供给迷宫算法的接口) 在Labview中我们可以很容易的利用其本身就拥有的扩展库来完成以上的操作,下面对于我们的图像处理程序进行介绍: 1.图像采集 我们组在图像采集部分采用的是动静结合的方法,即先采集一张静态的迷宫图像,通过这个图像,标定出迷宫出入口和小车初始位置,事先计算出小车应该走的路径,之后在小车开始行动之后进行动态采集,分析小车的位置,再对比算出的位置与之前的最短路径来确定小车如何行动。相对于其他组利用OPENCV进行的动态采集,需要不断的计算路径和修正小车方向,我们的方法大大减少了运算量,也减少了小车卡在角落的可能。 静态采集较为简单,可以通过外部软件获取图像,也可以直接调用Labview中NI-IMAQ组件的相关函数来进行单次的采集,在这里我们利用的是Labview中NI-IMAQ相关函数 结合上图来看,先枚举摄像头利用IMAQ USB Enumerate Cameras,然后对摄像头初始化IMAQ USB Init,分配空间并设置基础IMAQ USB Grab Setup,最后进行采集图像IMAQ USB Grab Acquire。 当需要进行动态采集的时候,只需要把采集的部分即IMAQ USB Grab Acquire进行一个循环就可以了。 2.图像降噪和阈值分析(图像二值化) 图像采集完毕之后,必须要进行二值化才能继续进行操作,因为摄像头和光线条件的限制等原因,图像采集之后会有大量的噪点存在,二值化之后可能会在路径上产生黑斑影响计算,而我们想到如果迷宫计算不是采用寻找路径的方法而是采用检测出墙壁进行计算的方法,就可以很好的避免大量噪点的问题。对于阈值分析Labview中同样有合适的函数可以进行 利用IMAQ ColorThreshold,我们可以调整各种颜色阈值来将图像二值化,如下图所示: 其中族控制输入三个阈值的数据,255是二值化后的灰度。 3.迷宫出入口的检测与定标。 在计算中我们把迷宫转化成了一个矩阵,但是图的边界不一定是迷宫的边界,我们需要手动标定出迷宫的边界,这是就需要用到IMAQ Select Point,通过鼠标点选选出迷宫的边界(角)的坐标,如下图所示。

(完整版)卫星图像处理流程

卫星图像处理流程 一.图像预处理 1.降噪处理 由于传感器的因素,一些获取的遥感图像中,会出现周期性的噪声,我们必须对其进行消除或减弱方可使用。 (1)除周期性噪声和尖锐性噪声 周期性噪声一般重叠在原图像上,成为周期性的干涉图形,具有不同的幅度、频率、和相位。它形成一系列的尖峰或者亮斑,代表在某些空间频率位置最为突出。一般可以用带通或者槽形滤波的方法来消除。 消除尖峰噪声,特别是与扫描方向不平行的,一般用傅立叶变换进行滤波处理的方法比较方便。 图1 消除噪声前

图2 消除噪声后 (2)除坏线和条带 去除遥感图像中的坏线。遥感图像中通常会出现与扫描方向平行的条带,还有一些与辐射信号无关的条带噪声,一般称为坏线。一般采用傅里叶变换和低通滤波进行消除或减弱。 图3 去条纹前

图4 去条纹后 图5 去条带前

图6 去条带后 2.薄云处理 由于天气原因,对于有些遥感图形中出现的薄云可以进行减弱处理。 3.阴影处理 由于太阳高度角的原因,有些图像会出现山体阴影,可以采用比值法对其进行消除。二.几何纠正 通常我们获取的遥感影像一般都是Level2级产品,为使其定位准确,我们在使用遥感图像前,必须对其进行几何精纠正,在地形起伏较大地区,还必须对其进行正射纠正。特殊情况下还须对遥感图像进行大气纠正,此处不做阐述。 1.图像配准 为同一地区的两种数据源能在同一个地理坐标系中进行叠加显示和数学运算,必须先将其中一种数据源的地理坐标配准到另一种数据源的地理坐标上,这个过程叫做配准。(1)影像对栅格图像的配准 将一幅遥感影像配准到相同地区另一幅影像或栅格地图中,使其在空间位置能重合叠加显示。

彩色图像处理存在的问题及应对策略(附图)

彩色图像处理存在的问题及应对策略(附图)相对于黑白图像处理,彩色图像处理有明显的优势,但是应考虑以下关键问题: 一、色彩准确性 色彩准确性即彩色图像处理需要考虑的颜色精度和差异程度。 许多图像处理中,处理算法必须区分检测到的颜色和目标值之间的差异。因此颜色的准确性非常重要,决定里一个算法的成败。 决定色彩准确性的的是插值算法,插值可能导致颜色检测的细微差异,因为它需要周围像素来确定每个像素的颜色值。 二、色彩串扰性 色彩串扰也是影响色彩准确性的关键因素。色彩串扰是由于红、蓝、绿通道的光谱响应之间相当大的重叠造成的。 当通道之间有大量重叠时,某些颜色系列,尤其是黄或蓝绿色系列,会有很大的不确定性。 色彩串扰会导致色彩伪像和色彩混淆。色彩处理时需要注意提取目标与背景色彩串扰的大小,可通过偏光镜等尽量避免色彩串扰。 ▲棱镜相机中使用的二向色涂层比拜耳滤光片产生更陡的光谱曲线,以最大限度地减少由色彩串扰引起的不确定性。

三、莫尔图案 当图像中包含重复阵列图像时,图像会出现摩尔条纹。 大规模混叠可导致莫尔图案的出现。虽然任何需要捕获更高空间频率的相机都会出现这种效果,但拜耳相机 - 再次因为插值技术 - 更容易出现这种情况。 ▲具有重复颜色混叠的区域中的人造颜色图案可以出现在拜耳图像中。 四、色彩对分辨率的影响 与单色系统相比,彩色相机大大降低了相机的有效分辨率。 虽然拜耳相机可能有500万像素(5百万像素),但插值过程会“平均”许多小细节,使有效分辨率达到整个像素数的三分之一左右。 彩色图像处理存在以上四个问题,因此进行彩色图像处理时需要采取以下四种措施: 一、光照水平和灵敏度 根据系统的亮度级别和可容忍的增益/噪声级别,选择合适的关照说以及相机色彩灵敏度。

图像处理方法

i=imread('D:\00001.jpg'); >> j=rgb2gray(i); >> warning off >> imshow(j); >> u=edge(j,'roberts'); >> v=edge(j,'sobel'); >> w=edge(j,'canny'); >> x=edge(j,'prewitt'); >> y=edge(j,'log'); >> h=fspecial('gaussian',5); >> z=edge(j,'zerocross',[],h); >> subplot(2,4,1),imshow(j) >> subplot(2,4,2),imshow(u) >> subplot(2,4,3),imshow(v) >> subplot(2,4,4),imshow(w) >> subplot(2,4,5),imshow(x) >> subplot(2,4,6),imshow(y) >> subplot(2,4,7),imshow(z)

>> %phi:地理纬度lambda:地理经度delta:赤纬omega:时角lx 影子长,ly 杆长 >> data=xlsread('D:\附件1-3.xls','附件1'); >> X = data(:,2); >> Y = data(:,3); >> [x,y]=meshgrid(X,Y); %生成计算网格 >> fxy = sqrt(x.^2+y.^2); >> %[Dx,Dy] = gradient(fxy); >> Dx = x./fxy; >> Dy = y./fxy; >> quiver(X,Y,Dx,Dy); %用矢量绘图函数绘出梯度矢量大小分布>> hold on >> contour(X,Y,fxy); %与梯度值对应,绘出原函数的等值线图

数字图像处理之彩色图像的处理

实验六彩色图像的处理 一、实验目的 1、掌握matlab中RGB图像与索引图像、灰度级图像之间转换函数。 2、了解RGB图像与不同颜色空间之间的转换。 3、掌握彩色图像的直方图处理方法。 二、实验内容及步骤 1、RGB图像与索引图像、灰度级图像的转换。 close all RGB=imread('flowers.tif'); [R_i,map]=rgb2ind(RGB,8);%RGB图像转换为8色的索引图像 figure imshow(R_i,map) [R_g]=rgb2gray(RGB);%RGB图像转换为灰度级图像 figure imshow(R_g)

思考: 将RGB 图像’flowers.tif ’分别转换为32色、256色、1024色索引图像,是否调色板所表示的颜色值越多图像越好? close all

RGB=imread('flowers.tif'); [R_i1,map]=rgb2ind(RGB,8);%RGB图像转换为8色的索引图像 [R_i2,map]=rgb2ind(RGB,32);%RGB图像转换为32色的索引图像 [R_i3,map]=rgb2ind(RGB,256);%RGB图像转换为256色的索引图像 [R_i4,map]=rgb2ind(RGB,1024);%RGB图像转换为1024色的索引图像 Subplot(221);imshow(R_i1,map);title('8色的索引图像'); Subplot(222);imshow(R_i2,map);title('32色的索引图像'); Subplot(223);imshow(R_i3,map);title('256色的索引图像'); Subplot(224);imshow(R_i4,map);title('1024色的索引图像'); 结论:随着索引值的增加图像的质量也有增加,更加清晰,色彩也更加鲜明。但不是不是颜色值越多越好。当索引值过高时,会出现无法识别而致模糊的情况出现。 2、RGB图像与不同颜色空间的转换。 (1) RGB与HSI颜色空间的转换 HSI应用于彩色图像处理。实验六文件夹中rgb2hsi( )函数将RGB颜色空间转换为HSI 空间并显示各分量,hsi2rgb( )函数是将HSI颜色空间转换为RGB颜色空间。 close all

图像处理基本方法

图像处理的基本步骤 针对不同的目的,图像处理的方法不经相同。大体包括图像预处理和图像识别两大模块。 一、图像预处理: 结合识别复杂环境下的成熟黄瓜进行阐述,具体步骤如下: · 图像预处理阶段的流程图 对以上的图像流程进行详细的补充说明: 图像预处理的概念: 将每一个文字图像分检出来交给识别模块识别,这一过程称为图像预处理。 图像装换和图像分割以及区域形态学处理都是属于图像处理的基本内容之一。 图像转换:方法:对原图像进行灰度化处理生成灰度矩阵——降低运算速度(有具体的公式和方程),中值滤波去噪声——去除色彩和光照的影响等等。 图像分割:传统方法:基于阈值分割、基于梯度分割、基于边缘检测分割和基于区域图像割等方法。脉冲耦合神经网络 (PCNN)是针对复杂环境下 图像采集 图像采集中注意采集的方法、工具进行介绍。目的是怎样获取有代表性的样本。(包括天气、相机的位置等) 对采集的图像进行特征分析 目标的颜色和周围环境的颜色是否存在干涉的问题、平整度影响相机的拍摄效果、形状 图像转换 图像分割 区域形态学处理

的有效分割方法,分割的时候如果将一个数字图像输入PCNN,则能基于空间邻近性和亮度相似性将图像像素分组,在基于窗口的图像处理应用中具有很好的性能。 区域形态学处理:对PCNN分割结果后还存在噪声的情况下,对剩余的噪声进行分析,归类属于哪一种噪声。是孤立噪声还是黏连噪声。采用区域面积统计法可以消除孤立噪声。对于黏连噪声,可以采用先腐蚀切断黏连部分,再膨胀复原目标对象,在进行面积阙值去噪,通过前景空洞填充目标,最后通过形态学运算,二值图像形成众多独立的区域,进行各连通区域标识,利于区域几何特征的提取。 二、图像识别: 针对预处理图像提取 目标特征 建立LS SVM分类器 得到结果 图像识别流程图 提取目标特征:目标特征就是的研究对象的典型特点,可以包括几何特征和纹理特征。 对于几何特征采用的方法:采用LS-SVM支持向量机对几何特征参数进行处理,通过分析各个参数的分布区间来将目标和周围背景区分开,找出其中具有能区分功能的决定性的几何特征参数。 纹理特征方法:纹理特征中的几个参数可以作为最小二乘支持向量机的辅助特征参数,提高模型的精准度。 最小二乘支持向量机介绍:首先选择非线性映射将样本从原空间映射到特征空间,以解决原空间中线性不可分问题,在此高维空间中把最优决策问题转化为等式约束条件,构造最优决策函数,并引入拉格朗日乘子求解最优化问题,对各个变量求偏微分。 LS SVM分类器:对于p种特征选择q个图像连通区域,作为训练样本。依

数字图像处理报告 图像二值化

数字图像处理实验报告 实验二灰度变换 实验目的:通过实验掌握灰度变换的基本概念和方法 实验内容: 掌握基本的灰度变换:图像反转、对数变换、幂次变换和二值化1.图像反转、对数变换、幂次变换 I=imread('fengjing.jpg'); J=im2double(I); subplot(2,3,1),imshow(J); title('原图'); K=255-I; subplot(2,3,2),imshow(K); title('图象反转'); L=3.*log(1+J); subplot(2,3,3),imshow(L);title('图象对数,系数为3'); M=10.*log(1+J); subplot(2,3,4),imshow(M);title('图象对数,系数为10'); N=10.*(J.^0.2); subplot(2,3,5),imshow(N);title('图象指数变换,γ=0.2'); P=10.*(J.^2.5); subplot(2,3,6),imshow(P);title('图象指数变换,γ=2.5'); 2.图象二值化 方法一:

I=imread('fengjing.jpg'); % 确定大小subplot(1,2,1),imshow(I);title('原图象'); [m,n]=size(I); for i=1:m for j=1:n if I(i,j)<128 I(i,j)=0; else I(i,j)>=128 & I(i,j)<256 I(i,j)=255; end end end subplot(1,2,2),imshow(I);title('图象二值化');方法二: I=imread('fengjing.jpg'); % 确定大小subplot(1,2,1),imshow(I);title('原图象'); J=find(I<128); I(J)=0; J=find(I>=128); I(J)=255; title('图像二值化(阈值为128)'); subplot(1,2,2),imshow(I);title('图象二值化');

图像预处理流程

图像预处理流程: 图2.2图像预处理流程图 2.2系统功能的实现方法 系统功能的实现主要依靠图像处理技术,按照上面的流程一一实现,每一部分的具体步骤如下: 1原始图像:由数码相机或其它扫描装置拍摄到的图像; 2预处理:对采集到的图像进行灰度化、图像增强,滤波、二值化等处理以克服图像干扰; 3字轮定位:用图像剪切的方法获取仪表字轮; 4字符分割:利用字符轮廓凹凸检测定位分割方法得到单个的字符; 5字符识别:利用模板匹配的方法与数据库中的字符进行匹配从而确认出字符,得到最后的仪表示数。

2.3.1 MATLA B简介 MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。 MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB 爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。 2.3.2 MATLAB的优势和特点 1、MATLAB的优势 (1)友好的工作平台和编程环境 MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。

基于MATLAB彩色图像及增强处理设计方法讲解

课程设计 题目基于MATLAB彩色图像及增强处理设计方法 学生姓名曹刘惠子学号 1110064087 所在院(系)物电学院 专业班级电子信息科学与技术1103 指导教师蒋媛 完成地点博源楼1102教室

基于MATLAB彩色图像及增强处理设计方法 曹刘惠子 (陕西理工学院物电学院电子信息科学与技术专业1103班级,陕西汉中 723000) 指导老师:蒋媛 [摘要]图像增强是指依据图像所存在的问题,按特定的需要突出一幅图像中的某一些信息,同时,削弱或去除某些冗余信息的处理方法。其主要目的是使得处理后的图像对给定的应用比原来的图像更加有效同时可以有效的改善图像质量。图像增强单纯从技术上可分成两大类:一类是频域处理法;一类是空域处理法。大多数是以灰度映射变换为基础的,所用的映射变换取决于增强的目的。彩色图像比灰度图像包含更多的信息,无论是对人们的视觉感受,还是后续的图像理解与分析,彩色图像都具有灰度图像无可比拟的优越性。本文主要研究基于MATLAB彩色图像的增强方法。不同原理产生的彩色图像有不同的处理方法,故在本文中主要论述彩色图像增强用法之间以及仿真结果的比较。 运用MATLAB 软件实现彩色图像增强仿真,比较处理方法。 [关键词]彩色图像图像增强时域频域MATLAB

目录 1绪论 (5) 1.1课题研究目的及意义 (5) 1.2本课题的研究内容 (5) 2彩色图像及其增强处理设计方法 (5) 2.1基本概念 (5) 2.2图像处理工具 (5) 2.3伪彩色增强 (6) 2.4真彩色增强 (8) 2.5假彩色增强 (10) 3 程序实现及比较 (10) 3.1伪彩色图像增强 (10) 3.2真彩色图像增强 (11) 3.3假彩色图像增强 (13)

图像二值化算法研究与实现

图像二值化算法研究与实现 摘要:图像二值化是图像预处理中的一项重要技术,在模式识别、光学字符识别、医学成像等方面都有重要应用。论文介绍了图像及数字图像处理技术的一些概念和相关知识;对VC++ 软件的发展和软件在图像处理中的应用做了简要介绍;还介绍了图像二值化算法以及利用VC++软件工具进行算法的实现。论文重点实现了图像分割技术中常用灰度图像二值化算法,如Otsu算法、Bernsen算法,并对这些算法运行的实验结果进行分析与比较。 关键词:图像处理;二值化;VC++; 1.引言 1.1 图像与数字图像 图像就是用各种观测系统观测客观世界获得的且可以直接或间接作用与人眼而产生视觉的实体。视觉是人类从大自然中获取信息的最主要的手段。拒统计,在人类获取的信息中,视觉信息约占60%,听觉信息约占20%,其他方式加起来才约占20%。由此可见,视觉信息对人类非常重要。同时,图像又是人类获取视觉信息的主要途径,是人类能体验的最重要、最丰富、信息量最大的信息源。通常,客观事物在空间上都是三维的(3D)的,但是从客观景物获得的图像却是属于二维(2D)平面的。 数字图像:数字图像是将连续的模拟图像经过离散化处理后得到的计算机能够辨识的点阵图像。在严格意义上讲,数字图像是经过等距离矩形网格采样,对幅度进行等间隔量化的二维函数。因此,数字图像实际上就是被量化的二维采样数组。 1.2 数字图像处理技术内容与发展现状 数字图像处理就是采用一定的算法对数字图像进行处理,以获得人眼视觉或者某种接受系统所需要的图像处理过程。图像处理的基础是数字,主要任务是进行各种算法设计和算法实现。 图像处理技术的发展大致经历了初创期、发展期、普及期和实用化期4个阶段。初创期开始与20世纪60年代,当时的图像采用像素型光栅进行少秒显示,大多采用中、大型机对其处理。在这一时期,由于图像存储成本高、处理设备昂贵,其应用面很窄。进入20世纪70年代的发展期,开始大量采用中、小型机进行处理,图像处理也逐渐改用光栅扫描方式,特别是CT和卫星遥感图像的出现,对图像处理技术的发展起到了很好的推动作用。到了20世纪80年代,图像处理技术进入普及期,此时的微机已经能够担当起图形图像处理的任务。超大规模集成电路(Very Large Scale Integration, VLSI)的出现更使处理速度大大提高,设备造价也进一步降低,极大地促进了图形图像系统的普及和应用。20世纪90年代是图像处理技术的实用化时期,图像处理的信息量巨大,对处理速度的要求极高。 1.3 图像二值化原理及意义 图像二值化是指用灰度变换来研究灰度图像的一种常用方法,即设定某一阈值将灰度

CCD图像处理基本过程

麻省理工学院 地球、大气和行星科学系 12.409 观测恒星和行星,2002年春 第9讲 2002年4月1日Copyright?1999 S. Slivan 编著 A. Rivkin 和 J. Thomas-Osip 校对 CCD图像处理基本过程 CCD到底是什么? (1) 信号组成成分 (1) 颜色表和对比度拉伸 (2) 保存你的工作 (2) 一些细节 (3) 十字准线 (3) 叠加图像 (3) 去除暗流 (3) 其他的命令 (4) CCD到底是什么? 我们非常高兴你问了这个问题。我们要给出的答案十有八九你已经想到了,CCD基本上就是一台数码相机。实际上,你在商场购买的数码相机中的探测器就是由CCD做的。天文用的CCD比普通的CCD能探测到更弱的信号,但是它们的原理是一样的:CCD芯片是由一个个的像素组成,当光子落到每个像素上后,光信号就转化成了电子信号。我们通常称这种信号为CCD计数。得到的图像可以以多种文件格式输出,并且可以使用一系列图像处理程序来处理。 信号组成成分 每个像素上的读数都是由很多源共同产生的。理论上讲,目标源应是信号的主要贡献者,当然这部分信号是我们所最感兴趣的。天空背景将不可避免地产生一些信号,它影响的程度取决于夜天光的亮度和所观测的天体与月亮的距离(还有当天的月相)。就像第8讲中所提到的,非光子产生的信号也会存在于你的图像中:即使没有光进入CCD,零秒曝光也会出现的读出噪声;与光子无关并随时间累积,由仪器自身的电子潜像而形成的暗流;由于芯片不同部位灵敏度的不同而导致的所谓平场效应。 此外,在第8讲中已经提到,进行定标帧的观测对于帮助我们获得高质量的数据图像是十分重要的,虽然在这节课上你不必拍摄这些对科学研究来说是必不可少的各种各样的定标数图像。我们仅仅对图像进行暗流的处理就可以了。我们将会把暗流从观测图像中减去,与此同时读出噪声也会被减掉。

图像预处理流程

图像预处理流程: 图2.2 图像预处理流程图 2.2 系统功能的实现方法 系统功能的实现主要依靠图像处理技术,按照上面的流程一一实现,每一部分的具体步骤如下: 1原始图像:由数码相机或其它扫描装置拍摄到的图像; 2预处理:对采集到的图像进行灰度化、图像增强,滤波、二值化等处理以克服图像干扰; 3字轮定位:用图像剪切的方法获取仪表字轮; 4字符分割:利用字符轮廓凹凸检测定位分割方法得到单个的字符;

5字符识别:利用模板匹配的方法与数据库中的字符进行匹配从而确认出 字符,得到最后的仪表示数。 2.3.1 MATLAB简介 MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。 MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。 2.3.2 MATLAB的优势和特点 1、MATLAB的优势 (1)友好的工作平台和编程环境 MATLAB由一系列工具组成。这些工具方便用户使用MATLAB 的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB 桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的

彩色图像处理

数字图像处理实验报告 专业班级: 学生姓名: 学号: 指导老师:

实验五彩色图像处理 一、实验目的 使用MatLab 软件对图像进行彩色处理。使学生通过实验熟悉使用MatLab软件进行图像彩色处理的有关方法,并体会到图像彩色处理技术以及对图像处理的效果。 二、实验要求 要求学生能够完成彩色图像的分析,能正确讨论彩色图像的亮度、色调等性质;会对彩色图像进行直方图均衡,并能正确解释均衡处理后的结果;能够对单色图像进行伪彩色处理、利用多波长图像进行假彩色合成、进行单色图像的彩色变换。 三、实验内容与步骤 (1) 彩色图像的分析 调入并显示彩色图像flower1.tif ; 拆分这幅图像,并分别显示其R,G,B分量; 根据各个分量图像的情况讨论该彩色图像的亮度、色调等性质。 (2) 彩色图像的直方图均衡 接内容(1); 显示这幅图像的R,G,B分量的直方图,分别进行直方图均衡处理,并显示均衡后的直方图和直方图均衡处理后的各分量; 将处理完毕的各个分量合成彩色图像并显示其结果; 观察处理前后图像的彩色、亮度、色调等性质的变化。 (3) 假彩色处理 调入并显示红色可见光的灰度图像vl_red.jpg、绿色可见光的灰度图像vl_green.jpg 和蓝色可见光的灰度图像vl_blue.jpg;以及近红外灰度图像infer_near.jpg和中红外灰度图像infer_mid.jpg; 以图像vl_red.jpg为R;图像vl_green.jpg为G;图像vl_blue.jpg为B,将这三幅图像组合成可见光RGB彩色图像; 分别以近红外图像infer_near.jpg和中红外图像infer_mid替换R分量,形成假彩色图像; 观察处理的结果,注意不同波长红外线图像组成图像的不同结果 (4) 伪彩色处理1:灰度切片处理 调入并显示灰度图像head.jpg; 利用MATLAB提供的函数对图像在8~256级的范围内进行切片处理,并使用hot模式和cool 模式进行彩色化; 观察处理的结果。 (5) 彩色变换(选做) 调入并显示灰度图像Lenna.jpg; 使用不同相位的正弦函数作为变换函数,将灰度图像变换为RGB图像。其中红色分量R 的变换函数为-sin( ),绿色分量G的变换函数为-cos( );,蓝色分量B的变换函数为sin( );

伪彩色图像处理

伪彩色图像处理 一、伪彩色处理的原理 伪彩色处理是指将黑白图像转化为彩色图像,或者是将单色图像变换成给定彩色分布图像。由于人眼对彩色的分辨能力远远高于对灰度的分辨能力,所以将灰度图像转化成彩色表示,就可以提高对图像细节的辨别力。因此,伪色彩处理的主要目的是为了提高人眼对图像细节的分辨能力,以达到图像增强的目的。 伪彩色处理的基本原理是将黑白图像或者单色图像的各个灰度级匹配到彩色空间中的一点,从而使单色图像映射成彩色图像。对黑白图像中不同的灰度赋予不同的彩色。 设f(x,y)为一幅黑白图像,R(x,y),G(x,y),B(x,y)为f 值得注意的是,伪彩色虽然能将黑白灰度转化为彩色,但这种彩色并不是真正表现图像的原始颜色,而仅仅是一种便于识别的伪彩色。 伪彩色处理技术的实现方法有多种,如密度分层法、灰度级-彩色变换法、频域滤波法等等。其中灰度级-彩色变换伪色彩处理技术可以将灰度图像变为具有多种颜色渐变的连续彩色图像。该方法先将灰度图像送入具有不同变换特性的红、绿、蓝三个变换器,然后再将三个变换器的不同输出分别送到彩色显像管的红、绿、蓝枪,再合成某种颜色。同一灰度由三个变换器对其实施不同变换,使三个变换器输出不同,从而不同大小灰度级可以合成不同颜色。这种方法变换后的图像视觉效果好。

二、伪彩色处理之灰度级-彩色变换法 以上是一组典型的灰度级-彩色变换的传递函数。其中图(a )、(b )、(c )分别表示红色、绿色、蓝色的传递函数,图(d )是三种彩色传递函数组合在一起的情况。由图(a )可见,凡灰度级小于L/2 的像素将被转变为尽可能的暗红色,而灰度级位于L/2到3L/4之 间的像素则取红色从暗到亮的线性变换。凡灰度级大于3L/4的像素均被转变成最亮的红色。其他的颜色以此类推。 三、灰度级-彩色变换法的Matlab 实现,其程序如下: I=imread(' F:\yyu\happy\DSC01015.jpeg'); %读入灰度图像image2g.jpg I=double(I); [M,N]=size(I); L=256;

图像预处理流程

图像预处理流程: 系统功能的实现方法 系统功能的实现主要依靠图像处理技术,按照上面的流程一一实现,每一部分的具体步骤如下: 1原始图像:由数码相机或其它扫描装置拍摄到的图像; 2预处理:对采集到的图像进行灰度化、图像增强,滤波、二值化等处理以克服图像干扰; 3字轮定位:用图像剪切的方法获取仪表字轮; 4字符分割:利用字符轮廓凹凸检测定位分割方法得到单个的字符; 5字符识别:利用模板匹配的方法与数据库中的字符进行匹配从而确认出字符,得到最后的仪表示数。 2.3.1 MATLA B简介 MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB 和Simulink两大部分。 MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple 并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以

直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。 2.3.2 MATLAB的优势和特点 1、MATLAB的优势 (1)友好的工作平台和编程环境 MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。 (2)简单易用的程序语言 MATLAB是一种高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。 (3)强大的科学计算机数据处理能力 MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++ 。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、

相关文档