当前位置: 首页 > news >正文

基于Halcon仿VM流程列表的执行效果

Halcon本身应用需要一定的门槛,但是也可以封装成类似VM简单易操作的样子

上期文章分享的是连线功能,本期分享数据传参

1,定义通用属性和方法

public class BaseModel
{
   
    public HObject HInput { get; set; }//图像输入

    public HObject HOutput { get; set; }//图像输出

    public HTuple TInput { get; set; }//数据输入

    public HTuple TOutput { get; set; }//数据输出

    public HObject RawImage {  get; set; }//原始图像

}

2,定义灰度化工具的图像

public class GrayModel : BaseModel
{
    public HObject GrayImage { get; set; }
}

3,定义所有来自模型的数据


public GrayModel Model { get; set; } = new GrayModel();


4,指定Halcon方法

 HOperatorSet.Rgb1ToGray(Model.HInput, out var grayImage);

5,保存独有数据

Model.HOutput = grayImage;//输出图像

6,保存通用数据

 NodeTool.SetNodeDate(NodeName, Model);



//
public void SetNodeDate(string nodeName, BaseModel model)
{
    //获取当前节点
    var currentNode = GetNodeForNodeName(nodeName);
    //获取下一个节点
    var nextNode = GetNextNode(currentNode);
    //如果不为空则绑定数据
    if (nextNode != null)
    {
        //获取下一个节点执行工具对象中对应的数据模型
        var nextModel = ToolDict[nextNode.NodeName].GetModel();
        //设置下一个节点的输入
        nextModel.TInput=model.TOutput;
        nextModel.HInput=model.HOutput;

    }
}

相关文章:

  • 深入解析MapReduce工作流程:从核心原理到实战优化
  • 第五十二章 Spring之再进一步——Boot
  • 深度神经网络全解析:原理、结构与方法对比
  • MySQL-复制表的两种常见方式
  • AI日报 - 2025年03月28日
  • c++ - 右击一个cpp文件,但是编译菜单项是灰的
  • 【Ubuntu常用命令】
  • 【开题报告+论文+源码】基于SSM的智能驾校预约管理系统
  • leetcode160.相交链表
  • Three.js 实现四元数(Quaternion)与常用运算
  • 树莓派使用USB摄像头与TFLite实现目标检测的完整指南
  • 开源模型应用落地-glm模型小试-glm-4-9b-chat-vLLM集成(四)
  • 基于 Trae 的超轻量级前端架构设计与性能优化实践
  • 基于Flask的跨境电商头程预警分析系统
  • XRP杠杆风暴来袭:XBIT引领潮流,解析DEX抗风险体系
  • ShardingSphere
  • QT第六课------QT界面优化------QSS
  • Python-数据处理
  • 深度剖析Spring Cloud Eureka:微服务注册与发现的终极指南 [特殊字符]
  • (C++11/C++14新特性)C++中的Lambda表达式——捕获方式和参数?值捕获和引用捕获?泛型Lambda和普通Lambda?
  • 网站自助平台/新媒体营销策略
  • 专业做化学招聘的网站有哪些/凡科网微信小程序
  • 七牛图片样式wordpress/seo关键词优化排名哪家好
  • 做鸡尾酒的网站/百度官方网页版
  • 翡翠原石网站首页怎么做/百度提交网站的入口地址
  • 2017网站开发就业前景/seo优化师培训