当前位置: 首页 > news >正文

HALCON 图像平滑处理算子原理解释与用处

文章目录

    • 概要
    • 整体架构流程
    • 技术名词解释
    • 技术细节

概要

在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的滤波器,在遍历像素点时大概是长这样的:

数值其实是我差不多填的,大概长这样。
最后中心点得出来的值就是:(40+160+25+65+205+60+255+125+20)/(3
3)≈106
然后每个像素点都如此计算,最后才根据每个像素点计算的结果再输出,这样便抑制了噪声。
但其实这个算子的本质就是把噪点像素的噪点平均给了邻域,让身边的像素点替它承担了多出来的灰度值,本质上并没有消除噪点,只是看起来是消除了而已(所以叫抑制)。

http://www.cnnetsun.cn/news/3554078.html

相关文章:

  • 京东抢购自动化终极指南:JDspyder脚本让秒杀成功率翻倍
  • JAVAEE初阶 --- 构造HTTP请求
  • 计算机毕业设计之校园运动会管理系统
  • AI大模型学习路线:从入门到精通的系统化路径
  • OpenClaw Token优化:5大配置节省50%成本
  • C++编程入门:从环境配置到函数核心的实战指南
  • Intel NPU C++ API编译实战:从环境配置到CMake排坑指南
  • C++实现计算机功能:从编译器到内存管理的核心原理与实践
  • 手把手实现象棋AI:从数据结构到Alpha-Beta剪枝的完整项目实战
  • 服务器磁盘一夜写满 100GB,根因是一行 DEBUG 日志
  • 深入解析AM263P ADC高级特性:中断溢出、PPB与安全检查器实战
  • Unity整合KinectForUnity 2.9插件:体感交互开发全流程指南
  • 深入解析红黑树在TreeMap中的实现与应用
  • TMS320F28004x DMA模块架构解析与驱动开发实战
  • C++模拟算法入门:从“津津的储蓄计划”掌握循环与条件判断
  • 敏捷开发聊天机器人:LLM与Prompt工程实战
  • 混合主动降噪算法——SFANC‐FxNLMS算法
  • AI Agent核心交互机制:MCP协议与Function Calling详解
  • C++多线程高性能金融系统架构:从零构建微秒级行情处理引擎
  • 嵌入式PSC寄存器深度解析:从原理到实战的低功耗电源管理
  • 硬盘数据恢复原理与9款专业工具评测
  • 大模型轻量化与具身智能的技术融合与应用
  • 基于树莓派的智能家居控制系统搭建指南
  • 数据不是护城河,稀缺数据才是
  • 2026石家庄单招机构选型分析:实体校区、办学资质、公办率三个维度的数据对比
  • 红外小目标检测:空间-频率域双域变换方法解析
  • 影刀RPA 环境变量管理:多环境配置自动切换
  • 从零学STL:string类常用接口一篇吃透
  • RoPE旋转位置编码:原理、实现与大模型长度外推实践
  • C2000 eCAP模块实战:从信号捕获到多路同步PWM生成