在图像分析中,图像质量得好坏直接影响算法的设计与效果得精度,因此在图像分析前需要进行图像得预处理。图像得预处理主要事消除图像中无关得信息,恢复有用得真实信息,增强有关信息的可检测性和最大限度的简化数据,从而进行特征提取,图像分割,匹配和识别的可靠性。进行图像预处理可以改善数据,抑制不需要的变形,也可增强后堆后续处理重要的图像特征。
灰度变化常用的方式有三种:线性灰度变换,分段线性灰度变换和非线性灰度变换。
read_image (Image16, 'E:/Halcon数据/资源图片/0316线束测试/1/16.bmp')
gen_rectangle1 (ROI_0, 1750.7, 1287.52, 2684.95, 3619.44)
reduce_domain (Image16, ROI_0, ImageReduced)
crop_domain (ImageReduced, ImagePart)
get_image_size (ImagePart, Width, Height)
dev_clear_window ()
dev_open_window (0, 0, Width/2, Height/2, 'black', WindowHandle)
*显示图像
dev_display (ImagePart)
*图像灰度化
rgb1_to_gray (ImagePart, GrayImage)
*图像取反
invert_image (GrayImage, ImageInvert)
*增加对比度
emphasize (GrayImage, ImageEmphasize, 17, 17, 5)
*减小对比度
scale_image (GrayImage, ImageScaled, 0.5, 0)
*增大对比度
scale_image (GrayImage, ImageScaled1, 2.5, 0)
*减小亮度
scale_image (GrayImage, ImageScaled2, 1, -100)
*增大亮度
scale_image (GrayImage, ImageScaled3, 1, 100)
*分段线性灰度值变换
gen_rectangle1 (ROI_0, 358.884, 128.5, 519.056, 1116.5)
min_max_gray (ROI_0, GrayImage, 0, Min, Max, Range)
reduce_domain (GrayImage, ROI_0, ImageReduced1)
crop_domain (ImageReduced1, ImagePart1)
scale_image_max (ImagePart1, ImageScaleMax)
*对数变换
log_image (GrayImage, LogImage, 'e')
*指数变换
pow_image (GrayImage, PowImage, 0.5)
pow_image (GrayImage, PowImage1, 2)
*直方图均衡化
equ_histo_image (GrayImage, ImageEquHisto)
*冲击滤镜
shock_filter (GrayImage, SharpenedImage, 0.5, 10, 'canny', 1)