1.halcon编写测试号算法代码部分后导出c#文件。

2.vs种引用halcon安装目录下的halcondonet,工具箱中可添加控件HWindowControl。

2.代码示例

using System;
using System.Theading.Tasks;
using System.Windows.Forms;
using HalconDotNet;namespace WindowApp
{public partial class Form1: From{HTuple WindowsID, ImageWidth;private double RowDown; // 鼠标按下时的行坐标private double ColDown; // 鼠标按下时的列坐标HObject ho_Image;public Form1(){InitializeComponent();CreateHalonWindow();}private void hWindowControl1_HMouseWheel(obejct sender, HMouseEventArgs e){HTuple Zoom, Row, Col, Button;HTuple Row0, Column0, Row00, Column00, Ht, Wt, r1, c1, r2, c2;if(e.Delta > 0){Zoom = 1.5;}else{Zoom = 0.5;}HOperatorSet.GetMposition(WindowID, out Row, out Col, out Button);HOperatorSet.GetPart(WindowID, out Row0, out Column0, out Row00, out         Column00);Ht = Row00 - Row0;Wt = Column00 - Column0;if(Ht * Wt < 3200 * 3200 || Zoom == 1.5){r1 = (Row0 + ((1 - (1.0 / Zoom)) * (Row - Row0)));c1 = (Column0 + ((1 - (1.0 / Zoom)) * (Col- Column0)));r2 = r1 + (Ht / Zoom);c2 = c1 + (Wt / Zoom);HOperatorSet.SetPart(WindowID, r1, c1, r2, c2);HOperatorSet.ClearWindow(WindowID);HOperatorSet.DispObj(ho_Image, WindowID);}}private void hWIndowControl1_HMouseDown(object sender, HMouseEventArgs e){HTuple Row,Column,Button;HOperatorSet.GetMposition(WindowID, out Row, out Column, out Button);RowDown = ROw;ColDown = Column;}private void hWindowControl1_HMouseUp(object sender, HMouseEventArgs e){HTuple row1, col1, row2, col2, Row, Column, Button;HOperatorSet.GetMposition(WindowID, out Row, out Column, out Button);double RowMove = Row - RowDown;double ColMove = Column - ColDown;HOperatorSet.GetPart(WindowID, out row1, out col1, out row2, out col2);HOperatorSet.GetPart(WindowID, row1 - RowMove, col1 - ColMove, row2 -         RowMove, col2 - ColMove);HOperatorSet.ClearWindow(WidnowID);if(ImageHeight != null){HOperatorSet.DispObj(ho_Image, WindowID);    }else{MessageBox.Show("请加载一张图片");}}private void hWindowControl1_HMouseMove(object sender, HMouseEventArgs e){HTuple Row,Column,Button,pointGray;HOperatorSet.GetMposition(WindowID, out Row, out Column, out Button);if(ImageHeight != null && (Row > 0 && Row < ImageHeight) && (Column > 0 &&     Column < ImageWidth)){HOperator.GetGrayVal(ho_Image, Row, Column, out pointGray);}else{pointGray = "_";}String str = String.Format("Row:{0} Column:{1} Gray:{2}",Row, Column,     pointGray);label.Text = str;}private void hWindowControl1_HMouseDBClick(object sender, HMouseEvectArgs e){HOperatorSet.SetPart(WindowID, 0, 0, ImageHeight-1, ImageWidth-1);HOperatorSet.ClearWidnow(WindowID);HOperatorSet.DispObj(ho_Image, WidnowID);}public void CreateHalconWindow(){WindowID = hWindowControl1.HalconWindow;}priate void button1_Click(object sender, EventArgs e){// HDevelopExport hd = new HDevelopExport();// hd.RunHalcon(WindowID);OpenFileDialog dlg = new OpenFileDialog();dlg.Filter = "所有图像文件 | *.bmp; *.jpg; *.png; *.tif; *.ico";if(dlg.ShowDoalog() == DialogResult.OK){HTuple ImagePath = dlg.FileName;HOperator.ReadImage(out ho_Image, ImagePath);}HOperatorSet.GetImageSize(ho_Image, out ImageWidth, out ImageHeight);HOperatorSet.SetPart(WindowID, 0, 0, ImageWidth, ImageHeight);HoperatorSet.DispObj(ho_Image, WindowID);}}public partial class HDevelopExport : Object{public HTuple hv_ExpDefaultWinHandle;public HDevelopExport(){initHalcon();}private void action(){HObject ho_Image, ho_GrayImage;HTuple hv_Width = null, hv_Height = null;HoperatorSet.GenEmptyObj(out ho_Image);HoperatorSet.GenEmptyObj(out ho_GrayImage);ho_Image.Dispose();ho_GrayImage.Dispose();HoperatorSet.ReadImage(out ho_Image, "D:/1.jpg");HoperatorSet.Rgb1ToGray(ho_Image, out ho_GrayImage);HoperatorSet.GetImageSize(ho_GrayImage, out hv_Width, out hv_Height);HOperatorSet.DispObj(ho_GrayImage, hv_ExpDefaultWinHandle);ho_Image.Dispose();ho_GrayImage.Dispose();HoperatorSet.ClearObj(ho_Image);hv_Width = null;hv_Height = null;}public void initHalcon(){HOperatorSet.SetSystem("width", 512);HOperatorSet.SetSystem("height", 512);}public void RunHalcon(HTuple Window){hv_ExpDefaultWinHandle = Window;action();}}
}

c# + halcon编程(读图、显示图、处理图、鼠标和图像交互)相关推荐

  1. 【读文献笔记】图神经网络加速结构综述

    [读文献笔记]图神经网络加速结构综述 前言 一.图神经网络来源 1.图神经网络用途 2.图神经网络特点 3.图神经网络主要阶段 4.图神经网络加速面临的挑战 5.本笔记内容包含内容 二.图与图神经网络 ...

  2. 备考12月份电子学会青少年编程能力等级测试(图形化)的公益训练营即将开营

    一.考试安排 考试方式 考试形式:在线居家考试(全国) 报名时间:9月26日08:00 ~ 11月23日16:00 退费截止时间:11月23日16:00 准考证下载时间:11月30日 ~ 考前1天 考 ...

  3. 读文献先读图——主成分分析 PCA 图

    上周五彩斑斓的气泡图 有让你眼花缭乱吗? 本周,化繁为简的PCA图 你值得拥有!  数据分析| 科研制图﹒PCA 图 关键词:主成分分析.降维 1665 年的鼠疫 牛顿停课在家提出了万有引力 ; 18 ...

  4. [.NET开发] C#编程调用Cards.dll实现图形化发牌功能示例

    本文实例讲述了C#编程调用Cards.dll实现图形化发牌功能.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; usi ...

  5. 关于主机的思维导图_读《思维导图》系列丛书----我用思维导图做什么?

    多图预警! 作者简介:深圳一所公立高中的生物老师,日常是备备课,读读书,打打球,吹吹牛. 我将从以下几个方面介绍我是如何使用思维导图的. 图1:介绍我如何使用思维导图的思维导图 1.我平时用思维导图来 ...

  6. UG10.0汽车大模钢料编程带刀路3D图档

    UG10.0汽车大模钢料编程带刀路3D图档-24套(20G) 链接:https://pan.baidu.com/s/1rYT1EmrYjGIAu9Q2n58xuA 提取码:x4ja

  7. lad梯形图编程顺序_重新思考编程:再次使顺序图更酷

    lad梯形图编程顺序 介绍 Ballerina语言是围绕顺序图的概念设计的. 与使用声明性语言相比,这最初是作为定义集成流的更好方法而存在的. 声明性语言(例如,基于XML和YAML的语言)通常可用于 ...

  8. 数字图像处理(第四版)胡学龙:编程实现图3.5中不同采样率图像的显示效果

    编程实现图3.5中不同采样率图像的显示效果(纯手敲,代码+运行结果+1对1教你怎么运行) 链接:

  9. java布尔矩阵程序_Java编程实现邻接矩阵表示稠密图代码示例

    我们知道,要表示结点,我们可以用一个一维数组来表示,然而对于结点和结点之间的关系,则无法简单地用一维数组来表示了,我们可以用二维数组来表示,也就是一个矩阵形式的表示方法. 我们假设A是这个二维数组,那 ...

最新文章

  1. 文件/目录权限相关命令:chmod、chown、umask、lsattr/chattr命令解析
  2. JS获取上传文件的大小
  3. js条件语句,用if...else if....else方程ax2+bx+c=0一元二次方程。求根
  4. getservbyname和getservbyport
  5. 用git rebase合并
  6. client高性能组件化框架React简单介绍、特点、环境搭建及经常使用语法
  7. REST是什么?如何实现RESTful?
  8. OpenCV3学习(10.2)codebook码书法实现背景剔除
  9. 学习ActiveMQ(五):activemq的五种消息类型和三种监听器类型
  10. 苏强SN系列服务器说明书,第一章 SN2000交流伺服驱动器使用手册.pdf
  11. c语言中cot函数图像,cot函数图像
  12. 07. 用两个栈实现队列(C++版本)
  13. 隐语义模型(Latent Factor Model, LFM)原理以及代码实现
  14. Ubuntu中安装和使用vim
  15. 内存不能为read或written的解决方案
  16. 【吊打面试官系列】APP测试常见面试题解析
  17. 数字电路技术基础(三)
  18. SSL证书一年需要多少钱
  19. 【逻辑思维训练 一】金字塔思维概述
  20. 短视频配音的两个小技巧,符合短视频内容基调是关键

热门文章

  1. 为什么毕业季不要表白?
  2. eclipse-查看继承层次图/继承实现层次图
  3. 1、Centos7系统的初化始配置
  4. MST53XXB 35V,200mA,1.9uA,低压线性稳压器
  5. VC++ 文件读写总结
  6. 【程序员讲婚庆】婚庆公司
  7. 转载《士兵突击》观后杂感
  8. Python 基础知识教程
  9. Excel使用技巧总结二
  10. 巨头夹缝求生存:菜鸟创业团队的辛酸苦辣 (本文转载)