遵循以下步骤在一个应用中添加Halcon/.Net:

一. 定义工具箱

Halcon/.net 不仅提供了一个类库,而且提供了一个控件:HWindowControl,它包含一个显示图像处理结果的Halcon图像窗口。你可以通过以下的步骤把这个控件添加到VS工具箱中(注意不同的VS版本有不同版本的控件)

1. 右击工具箱(工具箱可以从视图,工具箱中打开),点击选择项,这时会显示所有的.NET Framework组件

2. 点击浏览,到%HALCONROOT%\bin目录下分别有几个文件夹对应不同的VS控件版本,dotnet10 (Visual Studio .NET2002 and 2003)或者%HALCONROOT%\bin\dotnet20 (Visual Studio 2005, Visual Studio 2008) 选择halcondotnet.dll.

3. 然后在HWindowControl就会出现在工具箱上。如下图。

二. 添加一个Halcon/.net的引用

在许多应用中我们至少会使用一个HWindowControl的实例使结果可视化(visualize results).通过在form上添加一个控件,就可以自动创建一个halcondotnet的引用。

如过你不想使用HWindowControl,还可以通过以下步骤添加一个引用:

1. 右击引用(referencen)->添加引用

2. 点击浏览还是上一个目录找到对应的.dll文件,点击确定就可以看到在应用列表中多了一个halcondotnet

HALCON XL 应用后面会提到:当开发一个HALCON XL应用,那么就必须选择halcondotnetxl.dll而不是halcondotnet.dll.如果你已经添加了一个HALCON版本,那么必须删除并且添加halcondotnetxl.dl。

三. 指定命名空间

为了能够直接使用HALCON/.NET的类而不要在前面加上命名空间,那么就必须在每个源文件的前面加上:using HalconDotNet;对应的VB.net和C++应用中分别是:Imports HalconDotNet;和using namespace HalconDotNet;

四. 添加并且自定义显示一个HWindowControl

在大多数的应用中我们不只想显示一个结果。当需要HWindowControl窗口时我们只需要双击工具箱中刚才添加的HWindowControl选项便会在我们的form中出现一个空白的HWindowControl窗口。如下图:

还是那句话如果已经添加了一个HALCON版本的控件,但是你想用HALCON XL,只需要删除刚才添加的halcondotnet.dll,并且添加halcondotnetxl.dll。

如果你想在在窗口里显示图像,那么你应当把窗口调整为和图像一样的尺寸,否则显示的会很慢应为这需要进行插值。我们可以通过属性窗口改变窗口和图像部分的大小,他们分别对应WindowSize和ImagePart属性。需要注意的是ImagePart中定义的是X,Y,Width,和Height的值,但是相应的SetPart算子改变的是图像四个角点的坐标。我们可以在任何时间改变我们应用中显示部分。

VisualStudio使用HALCIN_NET控件的更多相关文章

  1. WinForm 控件的布局(Dock属性)的注意点

    对于Dock属性,添加控件的顺序会影响它们停驻的方式.例如,如果你对窗体添加控件A,指示其停驻填充(Fill), 然后你对窗体添加控件B并指示其停驻顶部(Top),控件B将覆盖控件A的上部.原因就是控 ...

  2. wpf控件设计时支持(1)

    原文:wpf控件设计时支持(1) 这部分内容几乎是大家忽略的内容,我想还是来介绍一下. 本篇源码下载 1.属性元数据 在vs IDE中,在asp.net,winfrom等开发环境下,右侧的Proper ...

  3. 在VisualStudio 工具箱中隐藏用户控件

    当我们创建一个用户控件后,VisualStudio会自动将其添加到工具箱中,本来这是一个比较贴心的设计.但是,有的时候,我们并不想将用户控件放到工具箱中. 例如:在WPF中,为了避免一个页面的控件过多 ...

  4. VisualStudio移动开发(C#、VB.NET)Smobiler开发平台——ImageTabBar控件的使用方式

    一.          样式一 我们要实现上图中的效果,需要如下的操作: 从工具栏上的“Smobiler Components”拖动一个ImageTabBar控件到窗体界面上 修改ImageTabBa ...

  5. VisualStudio移动开发(C#、VB.NET)Smobiler开发平台——GifView控件的使用方式

    一.          样式一 我们要实现上图中的效果,需要如下的操作: 从工具栏上的“Smobiler Components”拖动一个GifView控件到窗体界面上 修改GifView的属性 Aut ...

  6. VisualStudio移动开发(C#、VB.NET)Smobiler开发平台——VoiceRecorder控件的使用方式.Net移动开发

    一.          样式一 我们要实现上图中的效果,需要如下的操作: 从工具栏上的“Smobiler Components”拖动一个VoiceRecorder控件和一个ImageButton控件到 ...

  7. VisualStudio移动开发(C#、VB.NET)Smobiler开发平台——BarcodeView控件的使用方式,.Net移动开发

    BarcodeView控件 一.          样式一 我们要实现上图中的效果,需要如下的操作: 从工具栏上的“Smobiler Components”拖动一个BarcodeView控件到窗体界面 ...

  8. VisualStudio移动开发(C#、VB.NET)Smobiler开发平台——AlbumView相册控件的使用方式

    AlbumView控件 一.          样式一 我们要实现上图中的效果,需要如下的操作: 从工具栏上的“Smobiler Components”拖动一个AlbumView控件到窗体界面上 修改 ...

  9. VisualStudio移动开发(C#、VB.NET)Smobiler开发平台——SliderView控件的使用方式

    SliderView控件 一.          样式一 我们要实现上图中的效果,需要如下的操作: 从工具栏上的“Smobiler Components”拖动一个SliderView控件到窗体界面上 ...

随机推荐

  1. Codeforces 400C 矩阵乘法 数学规律

    今天下午Virtual了一套最近的CF题,第三题给TLE了,就跑过去上课了. 这题给定一个由二进制表示的矩阵,当询问3的时候,求矩阵的值,矩阵的值是所有第i行乘以第i列的值的总和,然后还有1 b是翻转 ...

  2. macOS下的播放器

    很早前用 MplayerX, 现在不能用了, 找到一个替代品 https://iina.io/. 挺不错.

  3. 查看docker的挂载目录

    docker inspect container_name | grep Mounts -A 20docker inspect container_id | grep Mounts -A 20

  4. git commit 后 尚未push到远程,撤销commit

    执行commit后,还没执行push时,想要撤销这次的commit,该怎么办? 解决方案: 使用命令: git reset --soft HEAD^ 这样就成功撤销了commit,如果想要连着add也 ...

  5. tensorflow 损失计算--MSN

    1.tf.losses.mean_squared_error函数 tf.losses.mean_squared_error( labels, predictions, weights=1.0, sco ...

  6. 导入的Java Web项目提示找不到javax.servlet.http.*包

    在网上下载了个Java web项目,导入到eclipse发现以下错误 解决办法: 1.右击项目,进入Configure Build Path 2.在Libraries标签下点击Add Library. ...

  7. 搭建zookeeper环境

    zookeeper是一个强一致的分布式数据库,由多个节点共同组成一个分布式集群,挂掉任意一个节点,数据库仍然可以正常工作. 独立模式 下载zookeeper打包文件,并进行解压 ➜ ~ tar -xv ...

  8. R语言 批量下载财务报表

    getsheets <- function(symbol,type,file){ pre="http://money.finance.sina.com.cn/corp/go.php/v ...

  9. 01 语言基础+高级:1-8 File类与IO流_day10【缓冲流、转换流、序列化流】

    day10[缓冲流.转换流.序列化流] 主要内容 缓冲流 转换流 序列化流 打印流 教学目标 能够使用字节缓冲流读取数据到程序 能够使用字节缓冲流写出数据到文件 能够明确字符缓冲流的作用和基本用法 能 ...

  10. 1017A.The Rank#排名

    题目出处:http://codeforces.com/problemset/problem/1017/A #include<iostream> using namespace std; i ...