halcon求图像灰度最大值和最小值——min_max_gray

前言

我们在图像处理中有时候需要求图像的最小灰度和最大灰度,本文就来介绍如何实现。

1、halcon算子应用

csharp 复制代码
dev_clear_window()
gen_image_const (Image, 'byte', 3, 3)
get_image_size (Image, Width, Height)
for rowIndex := 1 to Height by 1
    for columnIndex := 1 to Width by 1
        if(rowIndex=1 and columnIndex=1)
             set_grayval (Image, rowIndex-1, columnIndex-1,1)
        endif
        if(rowIndex=1 and columnIndex=2)
             set_grayval (Image, rowIndex-1, columnIndex-1,2)
        endif
        if(rowIndex=1 and columnIndex=3)
             set_grayval (Image, rowIndex-1, columnIndex-1,30)
        endif
        if(rowIndex=2 and columnIndex=1)
             set_grayval (Image, rowIndex-1, columnIndex-1,100)
        endif
        if(rowIndex=2 and columnIndex=2)
             set_grayval (Image, rowIndex-1, columnIndex-1,150)
        endif
        if(rowIndex=2 and columnIndex=3)
             set_grayval (Image, rowIndex-1, columnIndex-1,190)
        endif
        if(rowIndex=3 and columnIndex=1)
             set_grayval (Image, rowIndex-1, columnIndex-1,210)
        endif
        if(rowIndex=3 and columnIndex=2)
             set_grayval (Image, rowIndex-1, columnIndex-1,225)
        endif
        if(rowIndex=3 and columnIndex=3)
             set_grayval (Image, rowIndex-1, columnIndex-1,250)
        endif
    endfor
endfor

threshold (Image, Region, 0, 255)
min_max_gray (Region, Image, 20, Min, Max, Range)

min_max_gray算子用于计算图像最小灰度和最大灰度,该算子有6的参数

参数1是指定计算的区域范围

参数2是输入图像

参数3是截断百分比,取值范围 用于控制从灰度直方图两端移除的像素比例,比如上面的代码的图像总共有9个像素,参数3是20,则灰度直方图两边需要移除的像素个数是9*20%=1.8个像素,4舍5入,需要移除2个像素,灰度直方图中像素从小到大的排列是1、2、30、100、150、190、210、225、250,移除掉灰度小的一边的2个像素1、2,移除掉灰度大的一边的2个像素225、250,所以最终得到的灰度最小值是30,灰度最大值210,灰度范围是210-30=180.

参数4是灰度最小值,参考参数3中描述的计算方式

参数5是灰度最大值,参考参数3中描述的计算方式

参数6是灰度范围,参考参数3中描述的计算方式

2、算子应用后效果


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

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

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

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

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

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

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

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

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

相关推荐
江畔柳前堤33 分钟前
roLabelImg 详细安装教程
开发语言·人工智能·后端·云原生
阿里云大数据AI技术41 分钟前
分链路差异化设计的DSP准实时数仓|钛动科技基于阿里云实时计算 Flink 版 + DLF Paimon + EMR Serverless StarRocks 的实践
人工智能·flink
陕西企来客41 分钟前
2026年7月AI智能搜索曝光趋势研判
大数据·人工智能·机器学习·ai智能搜索曝光
阿里云大数据AI技术1 小时前
从算力到智能体,面向 Agentic AI 的基础设施演进
人工智能·agent
hangyuekejiGEO2 小时前
GEO技术服务选型指南
大数据·人工智能·python
阿里云大数据AI技术2 小时前
EMR Serverless Spark AI Function 的双维降本实践
人工智能·sql·spark
维基框架3 小时前
GitHub源码处理提速 一趟扫描反而更慢
人工智能·github
冬奇Lab3 小时前
代码库知识库系列(05):向量检索 vs 知识图谱——加了调用图并没有变更好
人工智能
AKAMAI3 小时前
你的源服务器可能是你做出的最昂贵决定
运维·人工智能·云计算
冬奇Lab3 小时前
【无标题】
人工智能·开源