13、图像常用算子
1、 reduce_domain(Image, Region : ImageReduced : : ) 1
2、 crop_domain(Image : ImagePart : : ) 1
3、 add_channels(Regions, Image : GrayRegions : : ) 2
4、 rgb1_to_gray(RGBImage : GrayImage : : ) 2
5、 rgb3_to_gray(ImageRed, ImageGreen, ImageBlue : ImageGray : : ) 2
6、 decompose3(MultiChannelImage : Image1, Image2, Image3 : : ) 2
7、 compose3(Image1, Image2, Image3 : MultiChannelImage : : ) 3
10、invert_image(Image : ImageInvert : : ) 5
11、get_image_pointer1(Image : : : Pointer, Type, Width, Height) 6
12、get_image_pointer3(ImageRGB : : : PointerRed, PointerGreen, PointerBlue, Type, Width, Height) 7
13、gen_image1( : Image : Type, Width, Height, PixelPointer : ) 8
15、gen_image_const( : Image : Type, Width, Height : ) 10
16、gen_image_proto(Image : ImageCleared : Grayval : ) 11
17、get_image_size(Image : : : Width, Height) 12
18、write_image(Image : : Format, FillColor, FileName : ) 13
19、read_image( : Image : FileName : ) 14
20、get_grayval(Image : : Row, Column : Grayval) 14
21、set_grayval(Image : : Row, Column, Grayval : ) 15
22、dump_window( : : WindowHandle, Device, FileName : ) 15
23、dump_window_image( : Image : WindowHandle : ) 16
24、copy_image(Image : DupImage : : ) 16
25、dev_set_part( : : Row1, Column1, Row2, Column2 : ) 16
- reduce_domain(Image, Region : ImageReduced : : )
功能:取图像Image以Region区域作为新定义域的图像ImageReduced,即减少定义域。
例子:
*t通过ROI编辑工具产生一个region类型的区域ROI_region
gen_rectangle1 (ROI_region, 201.554, 225.27, 393.799, 351.548)
*从大的Image中剪裁出ROI_region区域的部分图像,存放到Reduced中。
功能:由1中可知Reduced以外的部分是一个空的区域,没有像素值,用黑色背景来表示,而crop_domain()
函数则是把类似Reduced的图像,把黑色背景去掉,把有像素值部分显示完全
*t通过ROI编辑工具产生一个region类型的区域ROI_region
gen_rectangle1 (ROI_region, 201.554, 225.27, 393.799, 351.548)
*从大的Image中剪裁出ROI_region区域的部分图像,存放到Reduced中。
reduce_domain (Image, ROI_region, Reduced)
crop_domain (Reduced, ImagePart)
功能:当输入的Regions时当个region的话它的功能和1中的reduce_domain()一样,假如输入的Regions是一个region数组的话它的功能就跟和reduce_domain()不一样。
功能:将一张三通道的图像转化为一张灰度图像
- rgb3_to_gray(ImageRed, ImageGreen, ImageBlue : ImageGray : : )
功能:将3张单通道的图像转换为一张灰度图像
- decompose3(MultiChannelImage : Image1, Image2, Image3 : : )
功能:把一张三通的图像分解为三张单通道的图像
例子:
read_image(Image,'lena')
decompose3 (Image,R, G, B)
- compose3(Image1, Image2, Image3 : MultiChannelImage : : )
功能:把三张单通道的图像合成一张三通道的图像
read_image(Image,'lena')
decompose3 (Image,R, G, B)
compose3 (R, G, B, Image2)
- trans_from_rgb(ImageRed, ImageGreen, ImageBlue : ImageResult1, ImageResult2, ImageResult3 : ColorSpace : )
功能:从RGB颜色空间转换到任意颜色空间,最后一个参数表示要转换到的颜色空间。
例子:
read_image(Image,'lena')
decompose3 (Image,R, G, B)
trans_from_rgb (R, G, B, H, S, V, 'hsv')
- trans_to_rgb(ImageInput1, ImageInput2, ImageInput3 : ImageRed, ImageGreen, ImageBlue : ColorSpace : )
功能:任意颜色空间转换为RGB空间
read_image(Image,'lena')
decompose3 (Image,R, G, B)
*RGV转换为HSV
trans_from_rgb (R, G, B, H, S, V, 'hsv')
*HSV转换为RGB
trans_to_rgb (H, S, V, R1, G1, B1, 'hsv')
10、invert_image(Image : ImageInvert : : )
功能:图像取反:结果像素值 = 255 - 原图像素值 ,若原图像为单通道,只对该单通道取反,若为三通道,则对每个通道进行取反。
read_image(Image,'lena')
*取反
invert_image(Image,ImageInvert)
11、get_image_pointer1(Image : : : Pointer, Type, Width, Height)
功能:获取单通道图像的图像数据,假如传入的是多通道图像,则获取第一个通道的数据,同一张图像,每次调用Pointer 的结果都不一样。
get_image_pointer1 (R, Pointer, Type, Width, Height)
12、get_image_pointer3(ImageRGB : : : PointerRed, PointerGreen, PointerBlue, Type, Width, Height)
功能:获取三通道的图像的图像数据
read_image(Image,'lena')
*获取多通道图像的图像数据
get_image_pointer3 (Image, PointerRed, PointerGreen, PointerBlue, Type1, Width1, Height1)
13、gen_image1( : Image : Type, Width, Height, PixelPointer : )
功能:根据11或12中返回的图像数据来创建一个符合halcon规则的单通道图像。
read_image(Image,'lena')
*获取多通道图像的图像数据
get_image_pointer3 (Image, PointerRed, PointerGreen, PointerBlue, Type1, Width1, Height1)
gen_image1 (out_Image, 'byte', Width1, Height1, PointerBlue)
14、gen_image3( : ImageRGB : Type, Width, Height, PixelPointerRed, PixelPointerGreen, PixelPointerBlue : )
功能: 根据三通道图像数据来创建一个符合halcon规则的三通道图像
read_image(Image,'lena')
*获取多通道图像的图像数据
get_image_pointer3 (Image, PointerRed, PointerGreen, PointerBlue, Type1, Width1, Height1)
gen_image3 (out_ImageRGB, 'byte', Width1, Height1, PointerRed, PointerGreen, PointerBlue)
15、gen_image_const( : Image : Type, Width, Height : )
*创建一个图像,并为图像的所有像素值指定同一个默认灰度值(一般为0)
gen_image_const (Image1, 'byte', 600, 600)
16、gen_image_proto(Image : ImageCleared : Grayval : )
功能:创建一个图像,并为图像所有像素指定同一个灰度值
read_image(Image1,'lena')
*创建一个图像
gen_image_proto (Image1, out_Image, 200)
17、get_image_size(Image : : : Width, Height)
功能:获取图像大小
read_image(Image1,'lena')
get_image_size (Image1, Width, Height)
18、write_image(Image : : Format, FillColor, FileName : )
功能:根据指定的图像格式来保存图像,第三个参数表示不属于图形定义域(region)的像素,用该灰度值来表示,若要保存的是三通道图像,则会让不属于图形定义域的区域R = G = B = FillColor
read_image(Image,'lena')
*t通过ROI编辑工具产生一个region类型的区域ROI_region
gen_rectangle1 (ROI_region, 201.554, 225.27, 393.799, 351.548)
*从大的Image中剪裁出ROI_region区域的部分图像,存放到Reduced中。
reduce_domain (Image, ROI_region, Reduced)
*第三个参数表示不属于图形定义域(region)的像素,用该灰度值来表示
write_image (Reduced, 'bmp', 200, 'C:/hhhhhh.bmp')
保存出来的图像:
19、read_image( : Image : FileName : )
功能:读取图像
20、get_grayval(Image : : Row, Column : Grayval)
功能:获取指定坐标的像素值
read_image(Image,'lena')
decompose3 (Image, R, G, B)
get_grayval (R, 100, 100, Grayval)
21、set_grayval(Image : : Row, Column, Grayval : )
功能:设置一副图像某个坐标的灰度值
22、dump_window( : : WindowHandle, Device, FileName : )
功能:把窗口内容以图像文件格式保存到硬盘上
read_image (Image123, 'C:/123.JPG')
threshold_sub_pix (Image123, Border, 128)
dump_window (3600, 'bmp', 'C:/hhhhhh.bmp')
23、dump_window_image( : Image : WindowHandle : )
功能:把窗口内容保存为一个图像对象
read_image (Image123, 'C:/123.JPG')
threshold_sub_pix (Image123, Border, 128)
dump_window_image (Image, 3600)
24、copy_image(Image : DupImage : : )
功能:深拷贝一张图像(重新分配内存)
25、dev_set_part( : : Row1, Column1, Row2, Column2 : )
功能:修改显示的局部图像,让选择的局部图像填充整个图形窗口(相当于在图形窗口中放大某一个区域图像)