halcon图像增强之分段灰度拉伸2

前言

在图像去噪以后,图像经常变得模糊,图像对比度减小,为了增强图像对比度,我们可以指定需要拉伸的灰度范围来对感兴趣的灰度进行拉伸,同时也可以将被拉伸的灰度拉伸到指定的灰度范围。

1、分段灰度拉伸原理

该算子通过指定一个源灰度区间 Min, Max,将该区间线性拉伸到指定的输出范围DstMin, DstMax 。在此区间之外的像素,其灰度值会被剪切为输出范围的最小值或最大值DstMin, DstMax

基本公式:

scale_image_range(Image, ScaledImage,Min, DstMin,Max, DstMax)

其内部执行的操作等效于以下逻辑:

剪切:将图像中所有小于 Min 的像素值设为DstMin(输出最小值),所有大于 Max 的像素值设为DstMax(输出最大值)。

线性映射:将灰度值在 Min, Max 区间内的像素,线性映射到 DstMin, DstMax的范围。

2、halcon算子应用

csharp 复制代码
dev_open_file_dialog ('read_image', 'default', 'default', Selection)
read_image (Image, Selection)
scale_image_range (Image, ImageScaled1, [100,0], [200,50])

灰度拉伸scale_image_max算子总共有4个参数,如下:

第1个参数是输入图像

第2参数是灰度拉伸后的输出图像

第3个参数是被拉伸的最小灰度以及拉伸后输出的最小值

第4参数是被拉伸的最大灰度以及拉伸后输出的最大值

3、图像处理后效果

1)处理前

2)处理后

上面的代码将灰度处于100到200的图像拉伸到0到50,对于灰度小于100的直接置为0,对于灰度大于200的直接置为50

马工撰写的年入30万+C#上位机项目实战必备教程(点击下方链接即可访问文章目录)

1、《C#串口通信从入门到精通》

2、《C#与PLC通信从入门到精通 》

3、《C# Modbus通信从入门到精通》

4、《C#Socket通信从入门到精通 》

5、《C# MES通信从入门到精通》

6、《winform控件从入门到精通》

7、《C#操作MySql数据库从入门到精通》

以上教程CSDN订阅已超过2000+~

相关推荐
在世修行10 小时前
3D轮廓仪智能定位激光打标上位机:系统整体架构设计深度解析
上位机·架构设计·plc通信·3d轮廓仪·激光打标
Alex Gram13 小时前
数据库同步工具PanguSync图文教程
java·mysql·postgresql·sqlserver·c#·数据库同步软件·数据库同步工具
头茬韭菜15 小时前
第 10 篇:「Fluss 实战案例集」—— 完整解决方案与最佳实践
c#·linq·fluss
淡海水20 小时前
01-05-运行时-JIT优化全景-内联去虚拟化边界检查消除
windows·c#·虚拟化·jit·内联·边界检查消除
波波0071 天前
C# 15 重磅新特性: 带标签 break 与 continue:重新定义嵌套循环控制流
服务器·前端·c#
wujian83111 天前
怎么用千问生成word文档:从「格式崩」到「一键过」,AI导出鸭打通最后半厘米
人工智能·ai·c#·word·豆包·deepseek·ai导出鸭
zlinear数据采集卡1 天前
D223上位机C#开发实战:从帧解析到波形显示的完整实现
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
唐青枫1 天前
别把 ImmutableArray 当成只读 List:C#.NET 不可变数组深入详解
c#·.net
zlinear数据采集卡2 天前
D223 ADC数据处理流水线:从原始采样值到工程单位的完整转换链
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#