- 定义常量 ParaGrayLevel = 200
- 定义常量 RedOfRGB = 1
- 定义常量 GreenOfRGB = 2
- 定义常量 BlueOfRGB = 3
- 定义变量 GraphicArray(1000,1000)
- 定义变量 GrayArray(1000,1000)
- 注释:图片特征数组: GraphicArray放的颜色串字符;
- 注释: GrayArray 放的二值化数字
- 注释:定义图形矩形左上角和右下角坐标
- 定义变量 RectangleBegin, RectangleEnd
- 令 RectangleBegin = "315,108"
- 令 RectangleEnd = "430,132"
- 定义变量 MyArray, x1, y1, x2, y2
- 令 MyArray = split(RectangleBegin,",")
- 令 x1 = CInt(MyArray(0))
- 令 y1 = CInt(MyArray(1))
- 令 MyArray = split(RectangleEnd,",")
- 令 x2 = CInt(MyArray(0))
- 令 y2 = CInt(MyArray(1))
- 调用 GetGraphic(RectangleBegin,RectangleEnd,ParaGrayLevel)
- 定义变量 Str
- 令 Str = ""
- 循环 y 从 y1 到 y2
- 循环 x 从 x1 到 x2
- 令 Str = Str & GrayArray(x,y)
- 循环结束
- 令 Str = Str & vbCrlf
- 循环结束
- 弹出窗口 Str
- 子程序 GetGraphic(RectangleBegin,RectangleEnd,GrayLevel)
- 注释:制作人员:xxchuchu
- 注释:制作时间:2011.01.10
- 注释:功能说明:返回指定矩形[左上角和右下角坐标定义此矩形]范围的颜色字符数组
- 注释:这里直接对全局数组变量GraphicArray进行赋值
- 注释:参数说明:
- 注释:GetGraphic 返回值, 格式:nnn 数字型
- 注释:RectangleBegin 矩形左上角坐标, 格式:X,Y 字符型
- 注释:RectangleEnd 矩形右下角坐标, 格式:X,Y 字符型
- 定义变量 MyArray, x1, y1, x2, y2
- 令 MyArray = split(RectangleBegin,",")
- 令 x1 = CInt(MyArray(0))
- 令 y1 = CInt(MyArray(1))
- 令 MyArray = split(RectangleEnd,",")
- 令 x2 = CInt(MyArray(0))
- 令 y2 = CInt(MyArray(1))
- 循环 y 从 y1 到 y2
- 循环 x 从 x1 到 x2
- 令 GraphicArray(x,y) = 得到指定点 (x, y) 的颜色
- 令 GrayArray(x,y) = PartNumOfRGB(GraphicArray(x,y),RedOfRGB)
- 令 GrayArray(x,y) = Binarization(GrayArray(x,y),ParaGrayLevel)
- 循环结束
- 循环结束
- 子程序结束
- 函数 ConvertGraphicToNum
- 函数结束
- 函数 Binarization(ParaNum,GrayLevel)
- 注释:制作人员:xxchuchu
- 注释:制作时间:2011.01.10
- 注释:功能说明:二值化,返回输入数字 ParaNum 的 经过灰色计算后的值0或1
- 注释:参数说明:
- 注释:Binarization 返回值, 格式:n 数字型, n = 0,1
- 注释:ParaNum 10进制数字, 格式:nnnnn 数字型
- 注释:GrayLevel 灰度,格式:nnn 数字型,n = 0-999
- 如果 ParaNum < GrayLevel 则
- 令 Binarization = 1
- 否则
- 令 Binarization = 0
- 条件结束
- 标记 EndOfFunc(函数 Binarization)
- 函数结束
- 函数 PartNumOfRGB(sColor,PartOfRGB)
- 注释:制作人员:xxchuchu
- 注释:制作时间:2011.01.10
- 注释:功能说明:返回颜色字符串 sColor 的 PartOfRGB 部分RGB( Red, Green, Blue )
- 注释:参数说明:
- 注释:PartNumOfRGB 返回值, 格式:nnn 数字型
- 注释:sColor 16进制6位数颜色字符串, 格式:xxxxxx 字符型,x=0-9,A-F
- 注释:PartOfRGB 颜色串中需要取值的部分,格式:n 数字型,n = 1,2,3
- 定义变量 MyByte
- 定义变量 i, NumOfPart
- 注释:先将16进制数转换成10进制数
- 令 NumOfPart = 0
- 循环 i 从 1 到 6
- 令 MyByte = Mid(sColor,i,1)
- 根据 MyByte 选择
- 情况 "A":
- 令 NumOfPart = (NumOfPart + 10) * 16
- 情况 "B":
- 令 NumOfPart = (NumOfPart + 11) * 16
- 情况 "C":
- 令 NumOfPart = (NumOfPart + 12) * 16
- 情况 "D":
- 令 NumOfPart = (NumOfPart + 13) * 16
- 情况 "E":
- 令 NumOfPart = (NumOfPart + 14) * 16
- 情况 "F":
- 令 NumOfPart = (NumOfPart + 15) * 16
- 情况 :
- 令 NumOfPart = (NumOfPart + CInt(MyByte)) * 16
- 选择结束