其实在大多数时候主要是对灰度值读取,或通过官方算子操控灰度值,本文意在演绎通过灰度值、数组等生成一张图像,来提高对图像本质的理解
在视觉的角度看图片的本质,可以理解为一组数据,2d图片可以理解为一组二维数组,3D图片可以理解为三维数组
案例:通过数组+矩阵生成一张指定灰度值的图样
read_image (Image33, 'E:/Halcon数据/资源图片/33.png')
原图
通过矩阵生成指定整张图像灰度值,如果想要一个丰富多彩的图片,可以将50替换成数组【】、数组每个值对应对应像素的灰度值,
get_image_size (Image33, Width, Height)
create_matrix (Height, Width, 50, MatrixID)
get_full_matrix (MatrixID, Values1)
获取行列坐标集合
C:=[]
c1:=[0:Width-1]
for Index := 0 to Height-1 by 1
C:=[C,c1]
endfor
R:=[]
for Index1 := 0 to Height-1 by 1
tuple_gen_const (Width, Index1, r1)
R:=[R,r1]
endfor
通过创建矩阵查看数据验证数据准确性
create_matrix (Height, Width, C, MatrixIDC)
create_matrix (Height, Width, R, MatrixIDR)
重置整张图像灰度值
set_grayval (Image33, R, C, Values1)
延申拓展为scale_image
v3:=Values1*3-10
set_grayval (Image33, R, C, v3)