
打开一张,halcon源码为:
dev_close_window ()
read_image (Image, 'D:/MyFile/halcon/长度和角度测量/图png')
get_image_size (Image, Width, Height)
dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
dev_display (Image)
建立C#工程,如下图所示:
更改项目属性:(目标框架改为:NET Framework 4),如下图所示:
添加HWindowControl控件:
在工具箱中右击->选项卡(向NET Framework组件库 添加HWindowControl控件),如下图所示:
添加HWindowControl控件后的工具箱,如下图所示:
设置程序界面,如下图所示:
添加引用,如下图所示:
从导出的ReadImagecs中拷贝HDevelopExport类到命名空间 HalconCsExample,如下图所示:
增加代码,如下图所示:
运行结果,如下图所示:
qt多次调用函数显示多张解决办法如下:
断开槽函数链接 只显示一遍;若要循环播放,改为 img_index=0 即可 } 三、资源 完整工程代码(vs2015/qt5100
可以用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。
给大家带来一篇halcon18安装教程(血泪安装史),令人震惊的是,网上居然没有一个完整的,而且全都是在胡扯,最后无奈只能自己写了个halcon18安装教程,文章的结尾会附上图文教程方便自己和其他用户使用
特别注意:如果你的版本不一致,那么肯定无法安装,所以可以根据本人提供的安装包和教程一步一步来!
1打开安装包,解压缩并运行安装,点击Next下一步
2阅读软件协议,将下拉滑到最下面,勾选我接受协议
3将检查更新的勾选去掉
4根据自己系统位数自行选择
5选择需要安装的组件,默认全部勾选
6直接点击Next下一步
7自行选择是否安装其他驱动程序
8选择文档语言,默认选择第一项英文
9选择软件安装位置,点击Browser可自行更换安装路径
10正在安装中,请耐心等待一会
11需要选择许可证文件路径,这里先选择“Do not install a license file”,稍后再进行破解激活
12安装完成,将运行软件的勾选去掉,点击Finish退出软件安装向导
13先不要运行软件,将破解补丁复制到软件安装目录下替换
14安装破解完成,运行软件即可免费使用了
以上就是关于怎么利用c#在导入halcon打开摄像头全部的内容,包括:怎么利用c#在导入halcon打开摄像头、qt多次调用函数显示多张图片、性能优化——使用多线程加速Halcon深度学习算子等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)