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安装目录的bin\dotnet35\halcondotnet.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位的(项目——属性)。