开始做Halcon的上位机,选用Visual Studio 100平台。
C#
第一步:
Visual Studio 100设置引用HalconDotNetdll
01新建项目
02选择Visual C#
03修改文件名
04确认
第二步
Visual Studio 100设置引用HalconDotNetdll
01选择“解决方案资源管理器”
02选择“引用”,右键
03选择“添加引用”
第三步
Visual Studio 100设置引用HalconDotNetdll
01在添加引用选项卡选择浏览
02选择路径:X:\Program Files\MVTec\HALCON-100\bin\dotnet20
03选择“HalconDotNetdll”
04确认
第四步
Visual Studio 100设置引用HalconDotNetdll
01选择“工具箱”
02选择“所有工具”或任意工具控件,右键
03选择“选择项”
第五步
Visual Studio 100设置引用HalconDotNetdll
选择Halcon图像控件
Visual Studio 100设置引用HalconDotNetdll
还有VB的设置,如下图:
Visual Studio 100设置引用HalconDotNetdll
01选择项目名称
02点击显示全部文件,取消隐藏,就可以看到引用
03引用,邮件
04添加,之后的步骤和C#一样
Visual Studio 100设置引用HalconDotNetdll
选择工具控件,步骤和C#基本一样。
VB的第二张图,步骤如下
01选择“工具箱”
02选择“所有工具”或任意工具控件,右键
03选择“选择项”
04在“net framwork组件”的选项卡中,选择浏览
05出来的对话框中,选择X:\Program Files\MVTec\HALCON-100\bin\dotnet20
06选择“HalconDotNetdll”
07确认
08这时候的工具栏的控件是HWinwow 控件。
kamuixiao :
X:\Program Files\MVTec\HALCON-100\bin\dotnet20
路径下的无法使用,在net framework组件无法找到
X:\Program Files\MVTec\HALCON-100\bin\dotnet35
路径下的可用,在net framework组件下可以找到,并且在工具箱上能够找到并使用,但是功能无法实现,如下图
我不作其他动作,程序代码内容仅是运行时候读取一张,
在调试的时候能够运行,但读不到……楼主在VBNET环境下正常运行了吗?求解~
Visual Studio 100设置引用HalconDotNetdll
x8515618 :
定义错了
dim m_hWindow As Htuple '这是一个句柄,不是窗体控件
x8515618 :
Dim m_hWindow As Htuple = Nothing
kamuixiao :
谢谢楼上的建议,但是我试了下发现仍然不行,我觉得问题不是出在这里,不知道使用VBNET的各位有没有遇到过,反正我是没能正常实现过一次的,输出显示的错误情况如图:
Visual Studio 100设置引用HalconDotNetdll
x8515618 :
你只是读取了,都没有显示呢
灵峤 lencue :
你最开始新建项目的时候选择的“net框架”版本是多少的?net 20就用dotnet20文件夹,35就用dontnet35文件夹,你再查看一下,会不会是这个问题,看能不能解决。
irun999 :
请问楼主,用在VS2008中用C#读入一直比较大的的时候只是显示部分,如何解决?
灵峤 lencue :
dev_resize_window_fit_image(ho_Image, 0, 0, 300, 400);
用这个算子,在C#的programcs中可以用的,后面的300,400就是显示这个的大小的,会被缩放到这个比例。
irun999 :
请问在VS 2005 C# 处理视频,程序老是死掉,怎么办?视频无法实时显示。 是不是视频太大了,VS2005处理不够来?该怎么办?
灵峤 lencue :
采用C#的多线程,具体怎么使用,我还在学习中,要是有进展,再一起讨论。
好吧,我写漏了,但事实上我把显示补上,然后按照兄台所说修改定义后仍然没能成功!~附图:
Visual Studio 100设置引用HalconDotNetdll
irun999 :
今天下午发现视频无法显示是因为hdevelop导出程序的死循环函数里没有 HOperatorSetDispObj 显示函数。但是关闭程序就会出现vshostexe无响应。这个问题可能得多线程解决了。
可以用Halcon建立深度学习模型,并用到实际项目中。
流程大概是使用免费的 Halcon Deeplearing Label Tool制作模型后,导出成 hdl 文件,并在应用程序中用 ApplyDlClassifier 应用模型。
经过测试, ApplyDlClassifer 在第一次运行时,无论数据集有多大,执行时间在500ms左右(AMD 5800X + Nvidia P2200),能够明显感受到卡顿,而在第二次运行时,就感受不到卡顿。所以我考虑,在应用程序启动时,使用线程对模型进行预热。
预热听着高深,其实就是读取模型( ReadDlClassifier ) 并送入一张空白图。
下面演示我的做法:
21 封装一个自己的Application类
22 我将Halcon算子封装成一个单例类,并使用 getAlgorithmGlobalData 获得这个单例对象。 slotDoModelWarmUp 是这个单例类一个槽函数。
23 在 slotDoModelWarmUp 中开多线程,对模型进行预热。
我将Halcon深度学习算子要用到的变量封装成一个 context 结构体,放在单例类中。为了节约开销,我使用引用,直接获取这个单例对象。这样,在向线程中传参数时,需要一个 std::ref 。
线程函数如下:
classifierHandle 是一个引用变量,这使得我可以直接 *** 控单例类中的数据成员,而不是使用拷贝。
经过测试,在AMD 5800X + Nvidia P2200下,推理速度达到了1166ms。
在HAlCON开始执行程序,有以下步骤
1需要另起一行但不运行程序然后直接敲击回车,程序将被执行。若想在不运行程序的情况另起一行,shift+回车。
2 重置程序执行(重置变量)
程序中的变量一旦被赋值,其将一直保持该值。若想重置变量并重新执行程序,需首先通过菜单栏“执行”--“重置程序执行”来重置变量。
3 在图形窗口中只显示某一个图形变量
图形窗口左上角有“清空图形窗口”图标,清空图形窗口后,在图形窗口中单击右键,选择“显示”某一图形变量。前提是,该图形变量已经被赋值。
4 注释与取消注释快捷键
F4快速注释,F3取消注释。
5 在图形显示窗口中查看鼠标处信息
按Ctrl键,同时在图形显示窗口中移动鼠标,可以显示鼠标位置以及鼠标所在处的图像灰度值。
Halcon视觉软件的COM的研究,顶一下,
如果针对COM的应用,主要就是delphi和VB这些不可以直接使用halcon的导出软件的编程环境来应用,在halcon的下面有实际的VB以及delphi的例子,可以看看,主要的还是看其手册,目前该软件在国内的资料非常少,是属于相当前卫的行业的,多交流
以上就是关于怎么在Visual Studio 10.0中设置Halcon机器视觉全部的内容,包括:怎么在Visual Studio 10.0中设置Halcon机器视觉、性能优化——使用多线程加速Halcon深度学习算子、halcon怎么开始执行程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)