当前位置:文档之家› halcon与C#混合编程(二)读取并处理图片

halcon与C#混合编程(二)读取并处理图片

halcon与C#混合编程(二)读取并处理图片
halcon与C#混合编程(二)读取并处理图片

示例:读取并处理图片

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: }

运行结果:

单击读取图片按钮并选取图片:

点击图像处理按钮:

相关主题
文本预览
相关文档 最新文档