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位的(项目——属性)。

原文地址:https://www.cnblogs.com/xixixing/p/10634903.html