halcon与C#混合编程(二)读取并处理图片
2013-02-03 15:20
246 查看
示例:读取并处理图片
halcon源码:
[/code]
导出的代码(ImagePro):
[/code]
C#工程:
[/code]
运行结果:
![](http://images.cnitblog.com/blog/466760/201302/03151904-59b2d6fc8611482cb0634086f355d298.png)
单击读取图片按钮并选取图片:
![](http://images.cnitblog.com/blog/466760/201302/03151921-1e72926296b94f4a91d00735b8391cfc.png)
点击图像处理按钮:
![](http://images.cnitblog.com/blog/466760/201302/03151931-c22e7447276c458dbc850ab86ceaf603.png)
halcon源码:
[code] *读取图片
read_image(Image,'D:/MyFile/C#/HalconCsExample/示例图片.jpg')
get_image_size(Image,Width,Height)
*图像处理
rgb1_to_gray(Image,GrayImage)
[/code]
导出的代码(ImagePro):
[code]//
//File generated by HDevelop for HALCON/DOTNET (C#) Version 10.0
//
//This file is intended to be used with the HDevelopTemplate or
//HDevelopTemplateWPF projects located under %HALCONEXAMPLES%\c#
using System;
using HalconDotNet;
public partial class HDevelopExport
{
public HTuple hv_ExpDefaultWinHandle;
// Main procedure
private void action()
{
// Local iconic variables
HObject ho_Image, ho_GrayImage;
// Local control variables
HTuple hv_Width, hv_Height;
// Initialize local and output iconic variables
HOperatorSet.GenEmptyObj(out ho_Image);
HOperatorSet.GenEmptyObj(out ho_GrayImage);
//读取图片
//dev_close_window(...);
ho_Image.Dispose();
HOperatorSet.ReadImage(out ho_Image, "D:/MyFile/C#/HalconCsExample/示例图片.jpg");
HOperatorSet.GetImageSize(ho_Image, out hv_Width, out hv_Height);
//dev_open_window(...);
HOperatorSet.DispObj(ho_Image, hv_ExpDefaultWinHandle);
//图像处理
ho_GrayImage.Dispose();
HOperatorSet.Rgb1ToGray(ho_Image, out ho_GrayImage);
HOperatorSet.DispObj(ho_GrayImage, hv_ExpDefaultWinHandle);
ho_Image.Dispose();
ho_GrayImage.Dispose();
}
public void InitHalcon()
{
// Default settings used in HDevelop
HOperatorSet.SetSystem("do_low_error", "false");
}
public void RunHalcon(HTuple Window)
{
hv_ExpDefaultWinHandle = Window;
action();
}
}
[/code]
C#工程:
[code]using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using HalconDotNet;//添加引用
namespace HalconCsExample
{
public partial class Form1 : Form
{
//增加代码:
HDevelopExport HD = new HDevelopExport();
string ImagePath;
public Form1()
{
InitializeComponent();
this.btnImagePro.Enabled = false;
}
private void btnReadImage_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "JPEG文件|*.jpg*|BMP文件|*.bmp*|TIFF文件|*.tiff*";
openFileDialog1.RestoreDirectory = true;
openFileDialog1.FilterIndex = 1;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
ImagePath = openFileDialog1.FileName;
HD.ReadImage(hWindowControl1.HalconWindow, ImagePath);
this.btnImagePro.Enabled = true;
}
}
private void btnImagePro_Click(object sender, EventArgs e)
{
HD.ImagePro();
this.btnImagePro.Enabled = false;
}
}
//从导出的ReadImage.cs中拷贝HDevelopExport类到命名空间 HalconCsExample
public partial class HDevelopExport
{
public HTuple hv_ExpDefaultWinHandle;
// Local iconic variables
HObject ho_Image, ho_GrayImage;
public void InitHalcon()
{
// Default settings used in HDevelop
HOperatorSet.SetSystem("do_low_error", "false");
}
public void ReadImage(HTuple Window,string path)
{
hv_ExpDefaultWinHandle = Window;
// Initialize local and output iconic variables
HOperatorSet.GenEmptyObj(out ho_Image);
HOperatorSet.GenEmptyObj(out ho_GrayImage);
//读取图片
//dev_close_window(...);
ho_Image.Dispose();
HOperatorSet.ReadImage(out ho_Image, path);
//dev_open_window(...);
HOperatorSet.DispObj(ho_Image, hv_ExpDefaultWinHandle);
}
public void ImagePro()
{
//图像处理
ho_GrayImage.Dispose();
HOperatorSet.Rgb1ToGray(ho_Image, out ho_GrayImage);
HOperatorSet.DispObj(ho_GrayImage, hv_ExpDefaultWinHandle);
ho_Image.Dispose();
ho_GrayImage.Dispose();
}
}
}
[/code]
运行结果:
![](http://images.cnitblog.com/blog/466760/201302/03151904-59b2d6fc8611482cb0634086f355d298.png)
单击读取图片按钮并选取图片:
![](http://images.cnitblog.com/blog/466760/201302/03151921-1e72926296b94f4a91d00735b8391cfc.png)
点击图像处理按钮:
![](http://images.cnitblog.com/blog/466760/201302/03151931-c22e7447276c458dbc850ab86ceaf603.png)
相关文章推荐
- halcon与C#混合编程(二)读取并处理图片
- Halcon读取jpg格式图片失败的处理方法
- halcon与C#混合编程(一)打开一张图片
- C#读取摄像头处理图片AForge
- halcon与C#混合编程(一)打开一张图片
- halcon与C#混合编程(一)打开一张图片
- halcon与C#混合编程(一)打开一张图片
- C#写入/读取SqlServer图片
- C#图片处理示例(裁剪,缩放,清晰度,水印)
- 黄聪:C#图片处理封装类(裁剪、缩放、清晰度、加水印、生成缩略图)有示例(转)
- python 读取文件夹下的图片进行处理
- C#读取WORD时发生“拒绝访问”及“消息筛选器显示应用程序正在使用中”异常的处理
- C# 图片处理类
- 转:C#图片处理类(裁剪,缩放,清晰度,水印)
- c#用oledb读取excel进行排序,过滤重复值处理
- C#处理图片的范例
- C# 处理图片百分比缩放-未测试
- halcon与C#混合编程(三)数字识别
- C# 读取压缩文件方式及乱码处理
- 简单的GDI+处理图片大小(C#代码)