枣庄手机网站制作,长沙的网站建设,免费程序网站,龙华网站建设-信科网络1、介绍
图像清晰度是衡量图像质量的一个重要指标#xff0c;对于相机来说#xff0c;其一般工作在无参考图像的模式下#xff0c;所以在拍照时需要进行对焦的控制。对焦不准确#xff0c;图像就会变得比较模糊不清晰。相机对焦时通过一些清晰度评判指标#xff0c;控制镜…1、介绍
图像清晰度是衡量图像质量的一个重要指标对于相机来说其一般工作在无参考图像的模式下所以在拍照时需要进行对焦的控制。对焦不准确图像就会变得比较模糊不清晰。相机对焦时通过一些清晰度评判指标控制镜头与CCD的距离使图像成像清晰。一般对焦时有一个调整的过程图像从模糊到清晰再到模糊确定清晰度峰值再最终到达最清晰的位置。
常见的图像清晰度评价一般都是基于梯度的方法本文将介绍五种简单的评价指标分别是Brenner梯度法、Tenegrad梯度法、laplace梯度法、方差法、能量梯度法。
2、Halcon代码
①、Tenegrad函数
//Tenegrad梯度法
sobel_amp(Image, EdgeAmplitude, sum_sqrt, 3)
min_max_gray(EdgeAmplitude, EdgeAmplitude, 0, Min, Max, Range)
threshold(EdgeAmplitude, Region1, 20, 255)
region_to_bin(Region1, BinImage, 1, 0, Width, Height)
mult_image(EdgeAmplitude, BinImage, ImageResult4, 1, 0)
mult_image(ImageResult4, ImageResult4, ImageResult, 1, 0)
intensity(ImageResult, ImageResult, Value, Deviation)②、方差函数
//方差法
region_to_mean(ImageReduced, Image, ImageMean)
convert_image_type(ImageMean, ImageMean, real)
convert_image_type(Image, Image, real)
sub_image(Image, ImageMean, ImageSub, 1, 0)
mult_image(ImageSub, ImageSub, ImageResult, 1, 0)
intensity(ImageResult, ImageResult, Value, Deviation)
1234567
③、能量函数
//能量梯度函数
crop_part(Image, ImagePart00, 0, 0, Width-1, Height-1)
crop_part(Image, ImagePart01, 0, 1, Width-1, Height-1)
crop_part(Image, ImagePart10, 1, 0, Width-1, Height-1)
convert_image_type(ImagePart00, ImagePart00, real)
convert_image_type(ImagePart10, ImagePart10, real)
convert_image_type(ImagePart01, ImagePart01, real)
sub_image(ImagePart10, ImagePart00, ImageSub1, 1, 0)
mult_image(ImageSub1, ImageSub1, ImageResult1, 1, 0)
sub_image(ImagePart01, ImagePart00, ImageSub2, 1, 0)
mult_image(ImageSub2, ImageSub2, ImageResult2, 1, 0)
add_image(ImageResult1, ImageResult2, ImageResult, 1, 0)
intensity(ImageResult, ImageResult, Value, Deviation)④、Brenner函数
//Brenner梯度法
crop_part(Image, ImagePart00, 0, 0, Width, Height-2)
convert_image_type(ImagePart00, ImagePart00, real)
crop_part(Image, ImagePart20, 2, 0, Width, Height-2)
convert_image_type(ImagePart20, ImagePart20, real)
sub_image(ImagePart20, ImagePart00, ImageSub, 1, 0)
mult_image(ImageSub, ImageSub, ImageResult, 1, 0)
intensity(ImageResult, ImageResult, Value, Deviation)⑤、Laplace函数
//拉普拉斯梯度函数
laplace(Image, ImageLaplace4, signed, 3, n_4)
laplace(Image, ImageLaplace8, signed, 3, n_8)
add_image(ImageLaplace4, ImageLaplace4, ImageResult1, 1, 0)
add_image(ImageLaplace4, ImageResult1, ImageResult1, 1, 0)
add_image(ImageLaplace8, ImageResult1, ImageResult1, 1, 0)
mult_image(ImageResult1, ImageResult1, ImageResult, 1, 0)
intensity(ImageResult, ImageResult, Value, Deviation)