Halcon中histo_2dim(Operator)算子原理及应用详解

embedded/2024/12/19 18:08:59/

在Halcon中,histo_2dim算子是一个用于计算双通道灰度值图像的直方图的工具。以下是对该算子的原理及应用的详细解释:
一、原理

histo_2dim算子的函数原型为:histo_2dim(Regions, ImageCol, ImageRow : Histo2Dim : : )

输入参数:Regions:输入区域,在此区域内计算直方图。这些区域通常是从图像中分割出来的一部分或多部分,即感兴趣区域(ROI,Regions Of Interest)。ImageCol:多通道图像的第一个通道,其数据将被用于计算直方图的第一维。ImageRow:多通道图像的第二个通道,其数据将被用于计算直方图的第二维。输出参数:Histo2Dim:计算得出的二维直方图。输出是一个整数类型的图像,其中的每个像素值代表了对应灰度级组合出现的频率。

具体来说,histo_2dim算子计算的是输入区域Regions内,由ImageCol和ImageRow两个通道构成的二维特征空间的直方图。在这个二维特征空间中,ImageCol的灰度值被解释为行索引,ImageRow的灰度值被解释为列索引。输出图像Histo2Dim中的每个点P(g1,g2)的灰度值表示(g1,g2)灰度值组合的频率,其中g1表示行索引,g2表示列索引。

二、应用

histo_2dim算子在图像处理领域有着广泛的应用,特别是在图像分割和特征提取方面。以下是一个具体的应用示例:

读取图像:使用read_image算子读取一幅彩色图像。
分解图像:使用decompose3算子将彩色图像分解为红、绿、蓝三个单通道图像。
绘制感兴趣区域:在图像上绘制一个感兴趣区域(ROI)。
计算二维直方图:使用histo_2dim算子计算ROI区域内,以红色通道为ImageCol,以蓝色通道为ImageRow的二维直方图。
后续处理:根据计算得到的二维直方图,可以进行进一步的图像分割、特征提取等处理。例如,可以使用class_2dim_sup算子根据二维特征空间对图像进行分割。

三、注意事项

1、在使用histo_2dim算子时,需要确保输入图像的两个通道具有相同的尺寸和数据类型。
2、输出的二维直方图图像的大小取决于输入图像的灰度级范围。例如,对于byte类型的图像,输出图像的宽高通常为256。
3、在进行图像分割等后续处理时,需要根据具体的应用场景选择合适的参数和算法

综上所述,histo_2dim算子是Halcon中一个非常有用的工具,它可以帮助我们计算双通道灰度值图像的直方图,进而进行图像分割和特征提取等处理。

四、使用示例

Interactive := 1
read_image (Image, 'ic')
dev_close_window ()
get_image_size (Image, Width, Height)
dev_open_window (0, 0, Width, Height, 'white', WindowID)
* Convert a three-channel image into three images
decompose3 (Image, Red, Green, Blue)
dev_display (Red)
dev_set_color ('red')
if (Interactive)draw_region (Pattern, WindowID)
elsegen_rectangle1 (Pattern, 362, 276, 371, 298)
endif
* Calculate the histogram of two-channel gray value images
histo_2dim (Pattern, Red, Blue, Histo2Dim)
threshold (Histo2Dim, Features, 1, 255)
* Close a region with a circular structuring element
closing_circle (Features, FeaturesClosed, 11.5)
dev_set_draw ('fill')
dev_set_part (0, 0, 511, 511)
dev_display (Red)
class_2dim_sup (Red, Blue, FeaturesClosed, RegionClass2Dim)
closing_rectangle1 (RegionClass2Dim, RegionClosing, 11, 11)
connection (RegionClosing, ConnectedRegions)
smallest_rectangle2 (ConnectedRegions, Row, Column, Phi, Length1, Length2)
gen_rectangle2 (Rectangles, Row, Column, Phi, Length1, Length2)
dev_display (Image)
dev_display (Rectangles)

在这里插入图片描述在这里插入图片描述


http://www.ppmy.cn/embedded/147081.html

相关文章

open-cv机器视觉相关知识

sobel算子 cv2.Sobel(src, ddepth, dx, dy, ksize3, scale1, delta0, borderTypeNone) 功能 用于计算图像梯度(gradient)的函数 参数 src: 输入图像,它应该是灰度图像。ddepth: 输出图像的所需深度(数据类型)。通…

自动化立体仓库堆垛机SRM控制系统运行控制功能块开发设计

1、堆垛机SRM控制系统硬件组态如下图 G120变频器,通信报文111 2、堆垛机SRM控制系统HMI屏幕页面如下图 运行、起升、货叉相关参数设定 3、堆垛机SRM控制系统中相关变量定义如下图 行走报警 行走条码位置反馈 行走条码速度反馈 行走正极限 行走负极限 4、运行控制功能块代码…

机器学习基础:极大似然估计与交叉熵

极大似然法 考虑我们在训练一个参数为 ϕ \boldsymbol\phi ϕ、输入为 x \mathbf{x} x的模型 f [ x , ϕ ] \mathbf{f}[\mathbf{x},\boldsymbol{\phi}] f[x,ϕ]。如果转换一下视角,计算模型在给定输入 x \mathbf{x} x时对可能的输出 y \mathbf{y} y计算条件概率分布…

Visual studio中C/C++连接mysql

我使用的是Visual studio 2019连接的数据库,其他版本的VS操作应该类似 1.选择X64 因为我们使用的MySQL 提供的连接库(如 libmysql.dll 或 MySQL Connector)都是64位的,所以不能选择X86版本 2.找到本地安装MySQL的目录 MySQL默认…

知乎日报——第四周

「OC」知乎日报——第四周(完) 文章目录 「OC」知乎日报——第四周(完)本周总结收藏界面使用高度数组优化设置缓存总结 本周总结 本周使用FMDB完成了本地数据的创建,管理相关的点赞收藏信息,优化了tableVi…

【论文复刻】2021-2012年环境规制影响企业融资约束吗—基于新《环保法》的准自然实验(C刊《证券市场导报》)

一、数据来源:上市公司年报、《绿色信贷实施情况关键评价指标》,内含原始数据、处理代码和基准回归 二、数据范围: KZ指数、Treat、根据《绿色信贷实施情况关键评价指标》的环境和社会风险类型,本文将A、类和B类企业作为重污…

TCP 三次握手四次挥手

目录 TCP 三次握手四次挥手 一、TCP基础 二、TCP数据报结构 三、名词术语 四、TCP的三次握手 ✍️过 程描述: 举例说明: 总结: 思考 🤔 : 五、TCP的四次挥手 ✍️ 过 程描述: ☕️ 川 航图举例: 思考 🤔: TCP 三次握手四次挥手 一、TCP基础…

本机(Windows)和服务器(Linux)之间传输文件的命令

在本机上打开命令行(按 win R 键后输入CMD并回车)根据需求运行以下命令即可。 将本机文件上传至服务器的命令: scp -P 端口号 "D:\test\1.txt" rooti-2.gpushare.com:/hy-tmp/datasets 功能为将D盘根目录下test文件夹中的1.txt…