这一项主要是图像的存盘和加载,有时把图像的打印也放在这一类里。图像的存盘和加载要解决两个主要的问题,一个是图像区域的确定,另一个是图像格式的规范。
图像处理软件包
不规则区域的图像存储和加载比一般矩形区域复杂,首先遇到的是区域边界的描述问题,一般有多边形描述方法和链码(chain codes)描述方法。
图像区域分为规则区域和不规则区域,规则区域通常指矩形区域,不规则区域通常指用鼠标器画出来的一个封闭的单连通区域。
在规则区域的情况下,存储图像时常用鼠标器来确定所需存储的区域,加载时又可以用鼠标器来确定所加载图像的显示位置。图像处理常常按整幅图像来进行,有时也把区域分为整幅图像区域和局部图像区域,由于整幅操作不再需要鼠标器来确定区域,因此可以简化操作。
规则区域图像的格式有自由格式和标准格式两种。对于灰度图像,自由格式文件的第一个字节为0,表示是灰度图像,后两个字节表示矩形区域的宽,接下来的两个字节表示矩形区域的高,随后是灰度图像数据,一个字节表示一个像素,每个像素按照从左到右、从上到下排列。对于彩色图像,常用RGB基色的彩色空间。其自由格式文件的第一个字节为1,表示是彩色图像,后两个字节表示矩形区域的宽,接下来的两个字节表示矩形区域的高,随后是彩色图像数据,三个字节表示一个像素,顺序是R,G,B,每个像素按照从左到右、从上到下的顺序排列。标准格式的图像文件有BMP,TIFF等格式,也有压缩存储的格式。
文件管理
菜单一般有多级,主菜单里可以分为几个大项,如文件管理、图像获取、图像编辑、图像二值化、边缘增强、图像量测、图像变换等,每一个菜单大项的下级菜单又分若干小项,现以单屏图像处理软件包为例,简要介绍菜单的各项内容。
不规则的图像文件的结构如表1所示。文件头是一个CHAIN-HEAD型的结构体的对象;链码数据就是从图像起始扫描点(xs,ys)开始,以顺时针方向沿区域外边界曲线行走得到的各个节点的数据,其数目由文件头的code_size确定;扫描线的位置数据是若干个CHAIN_SORT型结构体的对象,数目由文件头中的couple_size确定。
图2 Windows 图像基础结构的总体结构图
(2010-07-05)
图像处理软件包分为专用图像处理软件包和通用图像处理软件包,专用图像处理都以软件处理为主,解决特定的问题。通用图像处理软件包主要采用菜单形式,其算法相对比较简单,只是要求具有一些初步的算法,但一定具有图像输入功能。
图像处理软件包通常是以菜单的形式出现的,在Windows操作系统的环境下来设计菜单形式的图像处理软件包,比在DOS操作系统的环境下容易得多,外设的管理和汉字的注释不再费事,而且用VisualC++编程,已有现成的菜单形式可以借用,这样可以集中精力去设计图像处理的算法。