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 边界的处理方式

原理:

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

相关推荐
一 铭3 分钟前
Claude Agent Skills:一种基于 Prompt 扩展的元工具架构
人工智能·大模型·llm·prompt
连线Insight8 分钟前
小马智行港股上市:自动驾驶从“技术追跑”到“商业领跑”的里程碑
人工智能
xier_ran11 分钟前
深度学习:为什么不能将多层神经网络参数全部初始化为零以及如何进行随机初始化
人工智能·深度学习
扫地僧98511 分钟前
[特殊字符]用于糖尿病视网膜病变图像生成的生成对抗网络(GAN)
人工智能·神经网络·生成对抗网络
文心快码BaiduComate15 分钟前
疯了!双11,百度文心快码帮我省钱又赚钱?
人工智能
大刘讲IT17 分钟前
赋能中小企业:基于五大开源模块的AI智能体构建方案与细化拆解
人工智能·经验分享·ai·开源·制造
来让爷抱一个18 分钟前
企业级AI知识库新纪元:如何用开源力量重塑知识管理?
人工智能·开源
巴塞罗那的风23 分钟前
Eino框架快速搭建出行agent(二)引入12306 mcp
人工智能·golang·mcp
oak隔壁找我29 分钟前
Spring AI 入门教程,使用Ollama本地模型集成,实现对话记忆功能。
java·人工智能·后端
一只柠檬新37 分钟前
当AI开始读源码,调Bug这件事彻底变了
android·人工智能·ai编程