示例:读取并处理图片
halcon源码:
1: *读取图片
2:read_image(Image,'D:/MyFile/C#/HalconCsExample/示例图片.jpg') 3:get_image_size(Image,Width,Height)
4:
5: *图像处理
6: rgb1_to_gray(Image,GrayImage)
导出的代码(ImagePro):
1://
2:// File generated by HDevelop for HALCON/DOTNET (C#) Version 10.0 3://
4:// This file is intended to be used with the HDevelopTemplate or 5:// HDevelopTemplateWPF projects located under %HALCONEXAMPLES%\c# 6:
7:using System;
8:using HalconDotNet;
9:
10:publicpartialclass HDevelopExport
11: {
12:public HTuplehv_ExpDefaultWinHandle;
13:
14:// Main procedure
15:privatevoid action()
16: {
17:
18:// Local iconic variables
19:
20:HObjectho_Image, ho_GrayImage;
21:
22:
23:// Local control variables
24:
25:HTuplehv_Width, hv_Height;
26:
27:// Initialize local and output iconic variables
28:HOperatorSet.GenEmptyObj(out ho_Image);
29:HOperatorSet.GenEmptyObj(out ho_GrayImage);
30:
31://读取图片
32://dev_close_window(...);
33:ho_Image.Dispose();
34:HOperatorSet.ReadImage(out ho_Image,
"D:/MyFile/C#/HalconCsExample/示例图片.jpg");
35:HOperatorSet.GetImageSize(ho_Image, out hv_Width, out hv_Height); 36://dev_open_window(...);
37:HOperatorSet.DispObj(ho_Image, hv_ExpDefaultWinHandle);
38:
39://图像处理
40:ho_GrayImage.Dispose();
41:HOperatorSet.Rgb1ToGray(ho_Image, out ho_GrayImage);
42:HOperatorSet.DispObj(ho_GrayImage, hv_ExpDefaultWinHandle);
43:
44:ho_Image.Dispose();
45:ho_GrayImage.Dispose();
46:
47: }
48:
49:publicvoid InitHalcon()
50: {
51:// Default settings used in HDevelop
52:HOperatorSet.SetSystem("do_low_error", "false");
53: }
54:
55:publicvoid RunHalcon(HTuple Window)
56: {
57:hv_ExpDefaultWinHandle = Window;
58:action();
59: }
60:
61: }
62:
C#工程:
1:using System;
2:using System.Collections.Generic;
3:using https://www.doczj.com/doc/c56934574.html,ponentModel;
4:using System.Data;
5:using System.Drawing;
6:using System.Linq;
7:using System.Text;
8:using System.Windows.Forms;
9:
10:using HalconDotNet; //添加引用
11:
12:namespace HalconCsExample
13: {
14:publicpartialclass Form1 : Form
15: {
16://增加代码:
17:HDevelopExport HD = new HDevelopExport();
18:string ImagePath;
19:
20:public Form1()
21: {
22:InitializeComponent();
23:this.btnImagePro.Enabled = false;
24: }
25:
26:privatevoid btnReadImage_Click(object sender, EventArgs e)
27: {
28: openFileDialog1.Filter = "JPEG文件|*.jpg*|BMP文件|*.bmp*|TIFF文件|*.tiff*";
29: openFileDialog1.RestoreDirectory = true;
30: openFileDialog1.FilterIndex = 1;
31:if (openFileDialog1.ShowDialog() == DialogResult.OK)
32: {
33:ImagePath = openFileDialog1.FileName;
34:HD.ReadImage(hWindowControl1.HalconWindow, ImagePath);
35:this.btnImagePro.Enabled = true;
36: }
37: }
38:
39:privatevoid btnImagePro_Click(object sender, EventArgs e)
40: {
41:HD.ImagePro();
42:this.btnImagePro.Enabled = false;
43: }
44: }
45:
46://从导出的ReadImage.cs中拷贝HDevelopExport类到命名空间HalconCsExample
47:publicpartialclass HDevelopExport
48: {
49:public HTuplehv_ExpDefaultWinHandle;
50:// Local iconic variables
51:HObjectho_Image, ho_GrayImage;
52:
53:
54:publicvoid InitHalcon()
55: {
56:// Default settings used in HDevelop
57:HOperatorSet.SetSystem("do_low_error", "false");
58: }
59:
60:publicvoid ReadImage(HTupleWindow,string path)
61: {
62:hv_ExpDefaultWinHandle = Window;
63:
64:// Initialize local and output iconic variables
65:HOperatorSet.GenEmptyObj(out ho_Image);
66:HOperatorSet.GenEmptyObj(out ho_GrayImage);
67:
68://读取图片
69://dev_close_window(...);
70:ho_Image.Dispose();
71:HOperatorSet.ReadImage(out ho_Image, path);
72:
73://dev_open_window(...);
74:HOperatorSet.DispObj(ho_Image, hv_ExpDefaultWinHandle);
75: }
76:
77:publicvoid ImagePro()
78: {
79://图像处理
80:ho_GrayImage.Dispose();
81:HOperatorSet.Rgb1ToGray(ho_Image, out ho_GrayImage);
82:HOperatorSet.DispObj(ho_GrayImage, hv_ExpDefaultWinHandle); 83:
84:ho_Image.Dispose();
85:ho_GrayImage.Dispose();
86:
87: }
88:
89: }
90: }
运行结果:
单击读取图片按钮并选取图片:
点击图像处理按钮: