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

相关推荐
rockey6279 小时前
AScript如何实现中文脚本引擎
c#·.net·script·eval·expression·function·动态脚本
我是唐青枫11 小时前
C#.NET gRPC 深入解析:Proto 定义、流式调用与服务间通信取舍
开发语言·c#·.net
unicrom_深圳市由你创科技11 小时前
做虚拟示波器这种实时波形显示的上位机,用什么语言?
c++·python·c#
昵称暂无112 小时前
.NET 高级开发 | i18n 原理、实现一个 i18n 框架
javascript·c#·.net
疯狂成瘾者13 小时前
Chroma向量数据库
开发语言·数据库·c#
我是唐青枫13 小时前
C#.NET Monitor 与 Mutex 深入解析:进程内同步、跨进程互斥与使用边界
开发语言·c#·.net
ou.cs13 小时前
c# 信号量和锁的区别
开发语言·c#
yugi98783813 小时前
C# 串口下载烧写BIN文件工具
开发语言·c#
"菠萝"14 小时前
C#知识学习-021(文字关键字)
开发语言·学习·c#
游乐码14 小时前
c#HashTable
开发语言·c#