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+~

相关推荐
追逐时光者7 小时前
一个致力于为 C# 程序员提供更佳的编码体验和效率的 Visual Studio 扩展插件
后端·c#·visual studio
SunflowerCoder9 小时前
EF Core + PostgreSQL 配置表设计踩坑记录:从 23505 到 ChangeTracker 冲突
数据库·postgresql·c#·efcore
阿蒙Amon11 小时前
C#每日面试题-常量和只读变量的区别
java·面试·c#
我是唐青枫12 小时前
C#.NET ConcurrentBag<T> 设计原理与使用场景
c#·.net
大王小生12 小时前
C# CancellationToken
开发语言·c#·token·cancellation
listhi52012 小时前
基于C#实现屏幕放大镜功能
开发语言·c#
该用户已不存在15 小时前
不止是初始化,4个C# 构造函数解析与实例
后端·c#·.net
无风听海18 小时前
深入讲解 C# 中 string 如何支持 CultureInfo
开发语言·c#
wzfj1234518 小时前
FreeRTOS xTaskCreateStatic 详解
开发语言·c#
kylezhao201919 小时前
C# DataGridView 控件使用详解
c#