在图像处理中有时候难免需要获取图像指定位置(x,y)的像素值,这里没有直接讲获取灰度值,是因为如果是彩色图,那么获取的可能是彩色信息值,比如:RGB,HSV等;如果是单通道图像,获取的可能是灰度值或者一些浮点类型数值可能代表距离高度等信息。 Halcon在HDevelop中给我们提供的获取指定位置像素值的算子是get_grayval(),比如获取(0,0)位置的像素值:
get_grayval (GrayImage, 0, 0, Grayval)
但是 get_grayval()算子执行效率较低,算子介绍中也建议在C++中获取像素值采用指针方式的算子 get_image_pointer1(),它可以获取单个通道的指针,对应的get_image_pointer3()可以获取三个通道的指针。
下面我们来通过C++代码分别演示用上述两种方法获取图像指定位置像素,并通过遍历图像像素值来比对花费时间多少。 (1) get_grayval()