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

Halcon 图像预处理②

非线性图像分段变化:

先窗体打开图片

对数非线性变化:

结果图像的亮度/对比度显著增加

log_image(Image,LogImag1,'e')

参数1:输入图像

参数2: 输出图像

参数3:底数

log_image(Image,LogImage2,0.1)

图像结果亮度和对比度比较平缓

指数非线性变化:

pow_image (Image, PowImage, 0.1)

参数3:指数,0-1 增强高灰度值对比度,大于等于1增强低灰度值的对比度

直方图:

打开窗体展示text文本'直方图'

特征:1. 没有位置信息2. 与图像之间为一对多的映射关系,任意一幅图像都有唯一确定的一个直方图与之对应,但不同的图像可能有相同的直方图3. 可叠加性,各个子区域之和等于该图像全图的直方图

获取图像的灰度值直方图:

gray_histo(Image, Image, AbsoluteHisto, RelativeHisto)

参数1 计算的区域

参数2 输入的图像

参数3 AbsoluteHisto绝对分布

参数4 RelativeHisto 相对分布

将灰度直方图绘制出来:

gen_region_histo(Region,AbsoluteHisto,255,255,1)

参数1:绘制之后的区域输出的

参数2:对相对分布绘制直方图

参数3,4:xy的坐标

参数5:高度的缩放比例

将灰度直方图绘制出来

gen_region_histo(Region,AbsoluteHisto,255,255,1)

圆直图均衡化:

将密集的灰度值进行拉开

有蒙层的图片,把蒙层去掉

直方图均衡化

equ_histo_image (Image, ImageEquHisto)

均值滤波:

均值滤波的主要目的是消除高斯噪声:

均值滤波的原理就是将像素灰度值与其邻域内的像素灰度值相加取平均值,该滤波器区域就如同一个小的“窗口”,在图像上从左上角开始滑动,将该“窗口”内的像素灰度值相加并取平均值,然后将该灰度值赋值给“窗口”中的中心像素。

均值滤波优点:对图像内部的噪声及模糊图像有很好的作用

均值滤波缺点:使用均值滤波计算均值会将图像中的边缘信息与特征信息“模糊”掉,丢失很多特征。

创建一个高斯噪声点 值越大 噪声越明显

gauss_distribution (100, Distribution)

将噪声添加到指定图像上,并且生成一个噪声图

add_noise_distribution (Image, ImageNoise, Distribution)
dev_display (ImageNoise)

mean 平均值 使用均值滤波进行消除噪声(9*9 就是滤波核)

mean_image (ImageNoise, ImageMean,3, 3)

中值滤波:

简介:主要目的是消除椒盐噪声:中值滤波的原理与均值滤波相似,不同的是,它以像素为中心,取一个指定形状的邻域作为滤波器,该形状可以是正方形,也可以是圆形,然后将该区域内的像素灰度值进行排序,以排序结果的中间值作为灰度计算结果赋值给该区域内的像素。

优点:对单个噪声有很好的平滑作用,尤其是椒盐噪声。

创建椒盐声

sp_distribution (5, 5, Distribution)

 参数1 白色的噪声的比例

参数2 椒盐声的比例

添加椒盐噪声

add_noise_distribution (Image, ImageNoise, Distribution)

消除椒盐噪声

median_image (ImageNoise, ImageMedian, 'circle', 3, 'mirrored')

参数1 噪声图片

参数2 消除的噪声的图片

参数3 滤波器的采用形状 优先采用circle

参数4 滤波器尺寸 建设值设置为3

参数5 边界的处理方式

原理:

        将图像视为循环延拓的(即假设图像上下左右首尾相连)。超出边界的像素值从对侧获取。

http://www.lryc.cn/news/2386552.html

相关文章:

  • 20250526-C++基础-函数指针
  • 软考 系统架构设计师系列知识点之杂项集萃(73)
  • 大模型训练中的GPU作用解析
  • Flutter Web 3.0革命:用WebGPU实现浏览器端实时光追渲染,性能提升300%
  • DeepSeek-V3-0526乍现
  • Java设计模式之观察者模式:从基础到高级的全面解析
  • C/C++---类型转换运算符
  • STM32 I2C 通信协议
  • 【后端高阶面经:Elasticsearch篇】38、Elasticsearch 高可用架构解析:分片容灾、Translog 调优与双集群
  • 5月26日复盘-自注意力机制
  • *HTML `<script>` 标签中的核心属性解析:掌控脚本加载与执行的艺术
  • 聊一聊接口测试如何设计有效的错误响应测试用例
  • 记忆上传与自我同一性的哲学-技术综合分析
  • 人工智能工程师学习路线总结(下)
  • Vue:axios(POST请求)
  • 企业级调度器LVS (面试版)
  • 从OTA双雄「共舞」,透视旅游持续繁荣背后的结构性跃迁
  • 华为OD机试真题——虚拟理财游戏(2025A卷:200分)Java/python/JavaScript/C/C++/GO最佳实现
  • Vue-01(Vue CLI创建项目以及文件配置说明)
  • 华为云Flexus+DeepSeek征文 | DeepSeek-V3/R1商用服务开通体验全流程及使用评测
  • redis列表类型
  • 人工智能数学基础实验(一):智能推荐系统实战
  • uni-app学习笔记十二-vue3中组件传值(对象传值)
  • Vue.js教学第十四章:Vuex模块化,打造高效大型应用状态管理
  • Ubuntu/Linux 服务器上调整系统时间(日期和时间)
  • win11 禁用/恢复 内置笔记本键盘(保证管用)
  • 精度不够?光纤激光尺0.2ppm误差解锁微米级制造
  • Android 16系统源码_自由窗口(一)触发自由窗口模式
  • sqli-labs第十八关——POST-UA注入
  • 流式优先架构:彻底改变实时数据处理