用VB编程处理图像的方法
摘要 主要阐述在图形处理的过程中, 对于常见的图形的柔化、锐化、浮雕、扩散等的处理方法。
关键词 VB编程;图像;处理方法
在一般的图形处理的过程中,常见的方法有图形的柔化、锐化、浮雕、扩散等处理方法,下面我们介绍每一个算法的工作方法以及它在VB中实现的方法。
首先要在VB6.0当中建立一个工程,建立一个窗体Form 1和一个模块Module 1。在窗体Form 1中添加公共对话框控件和Picture控件,Common dialog 1,cmdLoad,cmdSmooth,cmdSharpen,cmd Emboss,cmdDif fuse以及cmdEnd六个命令的按钮。
1 读取图形象素值
首先设置好了存放象素值的数组Picture Pixels( ),声明如下:
Global Picture Pixels(2,500,500) As Integer 处理图形尺寸不超过500×500读取图形的象素到Picture Pixels( )数组一共有两种方法:①用Point方法;②直接从文件中读取象素。后一种方法在处理图形时速度相对快一些,但是该方法需要事先去了解不同的图形文件的结构,需要提供出不同处理的程序。而采用Point方法则可以直接的从图形框中读取图型象素值。以下的示例采用的Point方法。在执行cmdLoad的命令时,程序要调用公共对话框,然后让用户来选择图形的文件,再将图形装入图形框中。
图形框的Scale Mode 属性可以设置为3(象素);Auto Size 属性可以设置为T rue,所以能够从图形框的尺寸中求出图形的尺寸。假如其中的一个图形的尺寸超过了500,则程序会出现出错信息并且结束,否则则通过Point方法读出象素并且取出三元色饱和度的值放入Picture Pixels的三维数组中。数组的第一下标0表示红,1表示绿,2表示蓝;第二下标对应于象素的列;第三下标对应于象素的行。
在模块Module1中的代码:
Option Explicit
Global Picture Pixels( 2, 500, 500) As Integer ?设定公用数组?窗体Form1 的代码:
Option Explicit