51Halcon机器视觉

 找回密码
 会员注册

QQ登录

只需一步,快速开始

扫一扫,微信登录

查看: 3489|回复: 3
收起左侧

[资料] c#下halcon配置教程

[复制链接]
  • TA的每日心情
    害羞
    2018-8-3 08:11
  • 签到天数: 20 天

    连续签到: 2 天

    [LV.4]偶尔看看III

    4

    主题

    16

    帖子

    477

    积分

    Rank: 2Rank: 2

    积分
    477
    发表于 2017-8-7 19:15:48 | 显示全部楼层 |阅读模式

    51Halcon诚邀您的加入,专注于机器视觉开发与应用技术,我们一直都在努力!

    您需要 登录 才可以下载或查看,没有帐号?会员注册

    x
    1.在halcon中写入算子,实现函数过程
    比如:
    1. read_image(Image,’D:/MyFile/halcon/数字识别/1.jpg’)
    2. decompose3(Image, ImageR, ImageG, ImageB)
    3. threshold (ImageG, Regions, 0, 183)
    4. connection (Regions, Connection)
    5. select_shape (Connection, SelectedRegions, ‘area’, ‘and’, 1987.72, 7500)
    6. read_ocr_class_mlp(‘Document_0-9.omc’,OCRHandle)
    7. do_ocr_multi_class_mlp(SelectedRegions,ImageG,OCRHandle, Class, Confidence)
    复制代码
    2.通过halcon的IDE开发环境,导出C#代码
    3.利用vs2013创建一个C#窗体程序,加一个button。
    4.将HDevelop安装目录下的目录复制到刚创建的C#窗体程序目录下
    比方:我的C#project名字叫Hello,我的HDevelop安装在C:\Program Files\MVTec中。
    我就把C:\Program Files\MVTec\Halcon\bin目录复制到Hello.sln所在位置的同一目录下。
    5.在C#project中,对“解决方式资源管理器” 的 “引用” 右击,选择 “增加引用” 。点击“浏览”,选择刚才加进C#project的 “bin” 目录,接着选择“dotnet35”目录。最后选择“halcondotnet.dll”文件。点击”增加“。

    6.在C#project中,选择“视图”。选择“工具箱”,在“工具箱“中右击,选择”选择项“,点击”浏览“。选择刚才加进C#project的 “bin” 目录,接着选择“dotnet35”目录。最后选择“halcondotnet.dll”文件。
    点击”打开“。
    7.将第二步导出的c#代码中生成的类,增加”Program.cs“文件里,例如以下
    1. using System;
    2. using System.Collections.Generic;
    3. using System.Linq;
    4. using System.Threading.Tasks;
    5. using System.Windows.Forms;
    6. using HalconDotNet;
    7. namespace Hello
    8. {
    9. public partial class HDevelopExport
    10. {
    11.     public HDevelopExport()    {        // Default settings used in HDevelop         HOperatorSet.SetSystem("do_low_error", "false");        action();    }    // Main procedure     public void action()    {        // Local iconic variables         HObject ho_Image;        // Local control variables         HTuple hv_Width, hv_Height, hv_WindowHandle;        // Initialize local and output iconic variables         HOperatorSet.GenEmptyObj(out ho_Image);        if (HDevWindowStack.IsOpen())        {            HOperatorSet.CloseWindow(HDevWindowStack.Pop());        }        HOperatorSet.ReadImage(out ho_Image, "1.jpg");        HOperatorSet.GetImageSize(ho_Image, out hv_Width, out hv_Height);        HOperatorSet.SetWindowAttr("background_color", "black");        HOperatorSet.OpenWindow(0, 0, hv_Width, hv_Height, 0, "", "", out hv_WindowHandle);        HDevWindowStack.Push(hv_WindowHandle);        if (HDevWindowStack.IsOpen())        {            HOperatorSet.DispObj(ho_Image, HDevWindowStack.GetActive());        }        ho_Image.Dispose();    }}static class Program{    /// <summary>    /// 应用程序的主入口点。    /// </summary>    [STAThread]    static void Main()    {        Application.EnableVisualStyles();        Application.SetCompatibleTextRenderingDefault(false);        Application.Run(new Form1());    }}
    12. }
    复制代码

    8.在C#project的”Form1.cs“文件,button响应事件中增加代码。例如以下:
    1. using System;
    2. using System.Collections.Generic;
    3. using System.ComponentModel;
    4. using System.Data;
    5. using System.Drawing;
    6. using System.Linq;
    7. using System.Text;
    8. using System.Threading.Tasks;
    9. using System.Windows.Forms;
    10. namespace Hello
    11. {
    12. public partial class Form1 : Form
    13. {
    14. public Form1()
    15. {
    16. InitializeComponent();
    17. }
    18.     private void button1_Click(object sender, EventArgs e)    {        HDevelopExport HD = new HDevelopExport();        HD.action();    }}
    19. }
    复制代码

    9.在C#project”Debug“目录中增加”halcon.dll“、”halcondotnet.dll“、”license.dat“文件。

    10.移植到还有一台机器中的时候,要在还有一台机器路径C:\Program Files\MVTec\Halcon\下增加本台机器安装的HDevelop的help目录。

    比如:我的机器C:\Program Files\MVTec\HALCON-10.0\help
    我在还有一台机器下也按着这个路径建立同样目录的名字,把我的机器C:\Program Files\MVTec\HALCON-10.0\help下的所以文件复制到还有一台机器中。
    11.配置完毕。执行。。。。

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    害羞
    2017-12-12 14:17
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    0

    主题

    17

    帖子

    43

    积分

    Rank: 1

    积分
    43
    发表于 2018-1-6 14:47:34 | 显示全部楼层
    不错,学习了:loveliness:

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    点赞
    2020-1-20 10:12
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    0

    主题

    15

    帖子

    64

    积分

    Rank: 1

    积分
    64
    发表于 2018-3-5 11:16:31 | 显示全部楼层
    :):)学习了谢谢分享

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

    该用户从未签到

    1

    主题

    4

    帖子

    9

    积分

    Rank: 1

    积分
    9

    切换助手验证会员

    发表于 2019-7-1 22:26:57 | 显示全部楼层
    谢谢分享了

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

    您需要登录后才可以回帖 会员登录 | 会员注册

    本版积分规则

    建议您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流浏览器浏览本网站

    51Halcon会员技术交流会员技术交流 | 51Halcon官方客服咨询官方客服咨询 | Halcon切换助手使用反馈切换助手使用

    申请友链| 小黑屋| 手机版| Archiver| 有问题需要咨询站长?|  

    CopyRight © 2015-2020 51Halcon机器视觉. Version X3.4.

    粤ICP备15095995号-2 粤公网安备44030602000670号

    快速回复 返回顶部 返回列表