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

C#与Halcon联合编程

一、加载图片

  1. 导入并初始化
using HalconDotNet;
ho_Image = new HObject();

需要在引用中导入 halcondotnet.dll

  1. 关联句柄 打开新窗口
//创建一个句柄变量 绑定winform 窗口  
HTuple winfowFater = this.pictureBox1.Handle;
//打开新的窗口
HOperatorSet.SetWindowAttr("background_color", "green");
HOperatorSet.OpenWindow(0, 0, this.pictureBox1.Width, this.pictureBox1.Height, winfowFater, "", "", out windowId);
HDevWindowStack.Push(windowId);
  1. 加载图片
//读取图片
HOperatorSet.ReadImage(out ho_Image, "1.bmp");
//获取图片大小
//定义宽和高德变量 
HTuple hv_Width = new HTuple(), hv_Height = new HTuple();
HOperatorSet.GetImageSize(ho_Image, out hv_Width, out hv_Height);
//自适应
HOperatorSet.SetPart(windowId,0,0, hv_Height, hv_Width);
//在窗口显示图片
HOperatorSet.DispObj(ho_Image, windowId);
  1. 完整代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
//using
using HalconDotNet;
namespace _01加载图片
{public partial class Form1 : Form{public Form1(){InitializeComponent();}//图像变量HObject ho_Image;//句柄变量HTuple windowId;//窗体加载事件private void Form1_Load(object sender, EventArgs e){ho_Image = new HObject();//关联句柄  打开新窗口CreatWindow();//加载图片  LoadImage();}private void LoadImage(){//读取图片HOperatorSet.ReadImage(out ho_Image, "1.bmp");//获取图片大小//定义宽和高德变量 HTuple hv_Width = new HTuple(), hv_Height = new HTuple();HOperatorSet.GetImageSize(ho_Image, out hv_Width, out hv_Height);//自适应HOperatorSet.SetPart(windowId,0,0, hv_Height, hv_Width);//在窗口显示图片HOperatorSet.DispObj(ho_Image, windowId);}/// <summary>/// 关联窗口句柄/// </summary>private void CreatWindow(){//创建一个句柄变量 绑定winform 窗口  HTuple winfowFater = this.pictureBox1.Handle;//打开新的窗口HOperatorSet.SetWindowAttr("background_color", "green");HOperatorSet.OpenWindow(0, 0, this.pictureBox1.Width, this.pictureBox1.Height, winfowFater, "", "", out windowId);HDevWindowStack.Push(windowId);}}
}

注意: 启动前需要修改运行方式,在 项目 - 右键 - 属性 - 生成 - 目标平台 - x64

相关文章:

  • 【今日三题】跳台阶扩展问题(找规律) / 包含不超过两种字符的最长子串 / 字符串的排列(回溯—全排列)
  • DeepSeek架构解析:从神经动力学视角解构万亿参数模型的认知涌现机制
  • 如何使用docker配置ros-noetic环境并使用rviz,gazebo
  • Docker编排工具---Compose的概述及使用
  • MySQL基础关键_011_视图
  • linux环境安装docker
  • 智慧医院的可视化变革:可视化工具助力数字化转型
  • leetcode 142. Linked List Cycle II
  • 【Django】中间件
  • RDD有哪几种创建方式
  • 软件研发效能体系建设
  • VLM-AD:通过视觉语言模型监督实现端到端自动驾驶
  • Mac中Docker下载与安装
  • Excel模版下载文件导入
  • 跨物种交流新时代!百度发布动物语言转换专利,听懂宠物心声
  • WHAT - Rust 智能指针
  • -CoderOilStationJava高级工程师
  • 嵌入式学习--江协51单片机day2
  • 卷积神经网络基础(七)
  • C++对象注册系统(1)实现原理
  • 为发期刊,高校学者偷贩涉密敏感数据!国安部披露间谍案细节
  • 中国海外发展:今年前4个月销售665.8亿元,花费305亿元拿地
  • 中国象棋协会坚决支持司法机关依法打击涉象棋行业的违法行为
  • 虚假认定实质性重组、高估不良债权价值,原中国华融资产重庆分公司被罚180万元
  • 一周文化讲座|城市移民与数字时代的新工作
  • 大四本科生已发14篇SCI论文?学校工作人员:已记录汇报