
文章目录概要整体架构流程技术名词解释技术细节概要在HALCON中为了更好的处理图片我们通常会对图片进行平滑处理以减少图片噪点对我们工作的干扰那么HALCON中图片平滑处理算子的原理是如何运作参数如何调配又适用于哪些地方呢让我来讲解一下吧。整体架构流程技术名词解释*读取图片read_image(Image,C:/Users/32330/Pictures/panda.jpg)*转灰度图 rgb1_to_gray(Image,GrayImage)*预生成高斯噪点 gauss_distribution(10,Distribution)*预生成椒盐噪点 sp_distribution(5,5,Distribution1)*增加噪点add_noise_distribution(GrayImage,ImageNoise,Distribution)技术细节原图进行读取图片灰度图转换操作read_image(Image,C:/Users/32330/Pictures/panda.jpg)rgb1_to_gray(Image,GrayImage)得到以下图片可以看到图片的信息很干净几乎没有噪点我们自己添加一些噪点以便接下来的讲解。设定高斯噪点添加噪点gauss_distribution(10,Distribution)add_noise_distribution(GrayImage,ImageNoise,Distribution)得到以下图片这个时候我们发现图片有些杂信息把图片原本的信息给干扰了这个时候我们就可以使用图像平滑处理算子来对图片进行平滑处理凸显图片的特征信息。mean_image(ImageNoise,ImageMean,3,3)得到以下图片可以看到图片变干净了许多甚至相比于原图连边缘锯齿都变得更加平滑了额许多。我们再调大数值来看看。mean_image(ImageNoise,ImageMean,7,7)得到以下图片可以看到图片变得更加模糊。那么这个算子到底该怎么用呢运作原理是什么别急接下来让我为你讲解一下mean_image(ImageNoise,ImageMean,3,3)参数一就是入参是指你想要进行处理的图像。参数二就是出参是指处理后的图像。重点是参数三和参数四参数三是指滤波器的宽度。参数四是指滤波器的高度。参数三和四的宽高最好是奇数这样才能达到更好的效果。运作原里就是使用滤波器对图像的每一个像素点根据滤波器大小来进行灰度值1~255平均处理。也就是自身像素灰度值领域灰度值/滤波器宽高。接下里就是原理可视化展示我们设定一个宽高都为3的滤波器在遍历像素点时大概是长这样的数值其实是我差不多填的大概长这样。最后中心点得出来的值就是(4016025652056025512520)/(33)≈106然后每个像素点都如此计算最后才根据每个像素点计算的结果再输出这样便抑制了噪声。但其实这个算子的本质就是把噪点像素的噪点平均给了邻域让身边的像素点替它承担了多出来的灰度值本质上并没有消除噪点只是看起来是消除了而已所以叫抑制。