zoukankan      html  css  js  c++  java
  • halcon+WinForm显示rgb图并灰度化

    1、halcon代码,并导出成C#

    read_image (Demo, 'C:/Users/user/Pictures/demo.jpg')
    dev_display (Demo)
    rgb1_to_gray (Demo, GrayImage)
    dev_display (GrayImage)

    2、新建WinForm项目后,配置Halcon
    引用(鼠标右键)——添加引用,找到Halcon安装目录的bindotnet35halcondotnet.dll

    工具箱(空白处鼠标右键)——选择项,.NET Framework组件,浏览,添加halcondotnet.dll(同上)

    3、双击button,编辑相应程序(主要从生成的C#的action()方法中复制)

    //以上命名空间系统自动生成
    using HalconDotNet;//使用命名空间
    
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            HObject ho_Demo, ho_GrayImage;
            private void button1_Click(object sender, EventArgs e)
            {
                HOperatorSet.GenEmptyObj(out ho_Demo);//创建对象
                ho_Demo.Dispose();//清理内存,使得ho_Demo中空无一物
                HOperatorSet.ReadImage(out ho_Demo, "C:/Users/user/Pictures/demo.jpg");//读入内存中
                HOperatorSet.DispObj(ho_Demo, hWindowControl1.HalconWindow);//显示在HWindowControl控件中
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                HOperatorSet.GenEmptyObj(out ho_GrayImage);
                ho_GrayImage.Dispose();
                HOperatorSet.Rgb1ToGray(ho_Demo, out ho_GrayImage);
                HOperatorSet.DispObj(ho_GrayImage, hWindowControl1.HalconWindow);
                ho_Demo.Dispose(); //释放ho_Demo的内存
                ho_GrayImage.Dispose();
            }
        }
    }

    注意(运行前):如果halcon是64位的,VS的目标平台也要改成64位的(项目——属性)。

  • 相关阅读:
    [算法练习]序列最大和
    [算法练习]最长公共子序列
    [算法练习]最长公共子串(LCS)
    [算法练习] 把字符串转换成整数
    [算法练习] 反转链表
    [算法练习] 正整数数制转换
    自己调用NTDLL函数
    [经典算法] 排列组合-N元素集合的所有子集(二)
    [经典算法] 排列组合-N元素集合的所有子集(一)
    【机器学习】主成分分析法 PCA (I)
  • 原文地址:https://www.cnblogs.com/xixixing/p/10634903.html
Copyright © 2011-2022 走看看