Halcon 使用二维像素分类对图像进行分割

news2024/10/21 9:38:02

文章目录

  • 算子
    • histo_2dim 计算双通道灰度值图像的直方图
    • class_2dim_sup 使用二维像素分类对图像进行分割
  • 示例

算子

histo_2dim 计算双通道灰度值图像的直方图

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

class_2dim_sup 使用二维像素分类对图像进行分割

class_2dim_sup(ImageCol, ImageRow, FeatureSpace : RegionClass2Dim : : )
	ImageCol (输入对象):输入图像(第一通道)。这是一个单通道图像,通常为灰度图像,其数据将用于分类的第一维特征。
	ImageRow (输入对象):输入图像(第二通道)。这是另一个单通道图像,其数据将用于分类的第二维特征。
	FeatureSpace (输入对象):定义特征空间的区域。这是指在哪个区域范围内进行特征分类。通常,这是从原始图像中分割出的感兴趣区域(ROI)。
	RegionClass2Dim (输出对象):分类后的区域。这是根据输入的两个通道图像在定义的特征空间内进行分类后得到的区域。

示例

在这里插入图片描述

* Segment an image using two-dimensional pixel classification.
* 
* For interactive mode set this variable to 1
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
* 产生R,G,B三种颜色通道
decompose3 (Image, Red, Green, Blue)
dev_display (Red)
dev_set_color ('red')
if (Interactive)
    * 绘制区域
    draw_region (Pattern, WindowID)
else
    *产生矩形
    gen_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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2213938.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

腾讯云视立方开通各项云服务相关

云直播 如何开通云直播服务? 进入 云直播管理控制台,进入腾讯云直播服务开通页,查看相关协议并勾选同意,单击申请开通即可开通云直播服务。 。 如何开启流防盗链 KEY? 推流防盗链 KEY 是为了确保只有您的 App 用户…

dockerfile 用法全解析

FROM 构建基于alpine的镜像,单条执行就是复制了一个apline镜像(除了FROM其他都是非必须的) WORKDIR 是之指定接下来的shell语句是运行在哪个路径下,没有就会创建目录 COPY 将宿主机指定目录的文件拷贝到镜像指定目录 (ADD 源地址还可以url…

[LeetCode] 662. 二叉树最大宽度

题目描述: 给你一棵二叉树的根节点 root ,返回树的 最大宽度 。 树的 最大宽度 是所有层中最大的 宽度 。 每一层的 宽度 被定义为该层最左和最右的非空节点(即,两个端点)之间的长度。将这个二叉树视作与满二叉树结…

【C语言刷力扣】2206.将数组划分成相等数对

题目: 解题思路: 题目中要求元素成数对出现,即每个元素出现偶数次。用哈希表存放每个数出现的次数,再循环查看每个数的次数是否位偶数。 typedef struct {int key;int count;UT_hash_handle hh; } hashEntry;bool divideArray(int…

IDEA下载安装

文章目录 1、下载安装包2、安装IDEA3、全局配置4、安装插件 1、下载安装包 IDEA官网下载最新IDEA。 上面的ULtimate是旗舰版,试用30天,之后是需要收费的,下面黑色区域的Community是社区版,功能不如旗舰版丰富,但是好在…

文件的二维码怎么做成?简单的3步生成二维码技巧

数字化时代的到来,用来将内容分享给其他人展示的方式也越来越多。其中二维码就是现在很流行的一种方式,将内容存入二维码后,其他人就可以扫描分享二维码来查看内容,那么文件生成二维码该怎么操作呢? 通过使用文件二维…

如何轻松实现Patreon订阅,获得独家内容

目录 1. 什么是Patreon? Patreon是一个非常流行的在线平台。 它支持内容创作者通过订阅的方式,直接从粉丝那里获取资金支持。无论是艺术家、音乐家,还是作家、视频制作人,都能在这里找到自己的粉丝群体。 简而言之,你可以通过订阅他们定期发布的独家内容,享受到更…

量子噪声与量子操作

由于量子不确定性和量子态的测量过程而引入的随机波动,量子噪声不可避免。 经典噪声 想象一下,一个比特存储在硬盘驱动器上, 它与普通计算机相连,该比特从状态0或1开始,经过长时间,散乱的磁场很可能会导致…

020 elasticsearch7.10.2 elasticsearch-head kibana安装

文章目录 全文检索流程ElasticSearch介绍ElasticSearch应用场景elasticsearch安装允许远程访问设置vm.max_map_count 的值 elasticsearch-head允许跨域 kibana 商品数量超千万,数据库无法使用索引 如何使用全文检索: 使用lucene,在java中唯一…

AI视频监控卫士:一键Docker简易安装,开源技术引领视频监控

AI视频监控卫士的主要应用场景: 我们决定开源的原因: 1. 灵活性与可定制性: 开源产品的代码对用户公开,允许开发者根据特定需求进行自定义和扩展。思通数科AI视频监控卫士作为开源项目,可以灵活适应不同企业或项目的需…

一些NLP代表性模型

(一)BERT 由Bidirectional Encoder Representations from Transformers的首字母组成,是encoder-only结构类型的代表。 模型分预训练和微调两步,预训练任务有两类:masked language model(MLM)、next sentence predict…

我作为TypeScript开发人员是如何学习Rust的

讲讲我作为TypeScript开发人员学习Rust的经验吧,希望对你有帮助 像许多开发人员一样,我通过专注于网络技术开始了我的编程生涯。我相信这是一个很好的起点,JavaScript,互联网的语言,以及许多,是一个令人难…

Axure原型设计秘籍:解锁高效设计与开发的宝藏工具

​ 在快速迭代的数字时代,原型设计成为了产品开发与用户体验优化的关键环节。Axure,作为一款备受推崇的原型设计工具,凭借其强大的功能、直观的界面和丰富的资源,成为了设计师和产品经理们的得力助手。本文将带你深入探索Axure的原…

JavaScript中的对象,常用内置对象和数据类型

一、对象 1.概念 什么是对象? 在JavaScript中,对象是一组无序的相关属性和方法集合,所有的事物都是对象,例如:字符串、数值、数组和函数等等。 对象是由属性和方法组成的。 属性:事物的特征,在…

使用CSS Flexbox创建简洁时间轴

使用CSS Flexbox创建简洁时间轴 在网页设计中,时间轴是一种常见且有效的方式来展示事件的顺序和进程。本文将介绍如何使用CSS Flexbox创建一个简洁优雅的时间轴,无需复杂的JavaScript代码。 基本HTML结构 首先,我们需要创建基本的HTML结构: html复制<div class"ti…

《CUDA编程》8.共享内存的合理使用

共享内存是 一种可被程序员直接操控的缓存&#xff0c;主要作用有两个&#xff1a; ①减少核函数中对全局内存的访 问次数&#xff0c;实现高效的线程块内部的通信 ②提高全局内存访问的合并度 将通过两个具体的例子阐明共享内存的合理使用&#xff0c;一个数组归约的例子和讨矩…

深入解析“低代码平台”与“零代码平台”:区别与应用场景

随着企业数字化转型的加速&#xff0c;低代码平台与零代码平台作为提升开发效率、降低IT成本的有效工具&#xff0c;正逐渐成为企业软件开发的新趋势。这两种平台虽然都旨在简化应用开发过程&#xff0c;但在功能、适用场景及用户群体上存在着显著差异。 低代码平台&#xff1a…

如何通过Chrome设置保护你的在线隐私

在当今数字时代&#xff0c;保护个人隐私和在线安全变得尤为重要。谷歌浏览器作为全球最受欢迎的网络浏览器之一&#xff0c;提供了多种功能来帮助用户保护自己的在线隐私。本教程将指导你如何通过谷歌浏览器设置来提高你的在线隐私保护水平。&#xff08;本文由https://www.li…

highcharts样式记录

图表设置 const rendChart (min, max) > {Highcharts.setOptions({global: { useUTC: false },});Highcharts.chart(hourly-chart, {chart: {spacingBottom: 0,marginLeft: 53,marginTop: 10,marginBottom: 0,marginRight: 13,style: {fontSize: 0.2rem,color: #363a44,li…