Halcon结合C#二次开发读取图片并处理图片.docx
- 文档编号:6225464
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:12
- 大小:1.10MB
Halcon结合C#二次开发读取图片并处理图片.docx
《Halcon结合C#二次开发读取图片并处理图片.docx》由会员分享,可在线阅读,更多相关《Halcon结合C#二次开发读取图片并处理图片.docx(12页珍藏版)》请在冰点文库上搜索。
Halcon结合C#二次开发读取图片并处理图片
Halcon结合C#二次开发读取图片并处理图片
在Halcon12.0中的程序编辑器编辑程序:
read_image(Image,'E:
/Tulips.jpg')
get_image_size(Image,Width,Height)
rgb1_to_gray(Image,GrayImage)
文件——导出
打开VS2010新建项目名称WindowsFormsHalcon——确定
右键WindowsFormsHalcon——属性
更改目标框架为.NETFramework4
然后在“生成”选项下更改目标平台为AnyCPU(其他均不用修改)
在工具箱栏右键——选择项
浏览——选择目标路径:
C:
\ProgramFiles\MVTec\HALCON-12.0\bin\dotnet35选择halcondotnet.dll——打开
出现如下界面——确定
在工具箱中出现控件HWindowControl
在Form1窗体中拖入控件HWindowControl,两个Button按钮控件,OpenFileDialog控件
在VS2010中打开之前导出的Halcon程序,修改程序后写入窗体程序如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingHalconDotNet;//添加引用HalconDotNet
namespaceWindowsFormsHalcon
{
publicpartialclassForm1:
Form
{
HDevelopExportHD=newHDevelopExport();//添加代码
stringImagePath;
publicForm1()
{
InitializeComponent();
this.btnHandle.Enabled=false;//添加代码,读取图片前处理图片按钮是不可用的
}
//读取图片按钮操作
privatevoidbtnRead_Click_1(objectsender,EventArgse)
{
openFileDialog1.Filter="JPEG文?
?
件tt|*.jpg*|BMP文?
?
件tt|*.bmp*|TIFF文?
?
件tt|*.tiff*";
openFileDialog1.RestoreDirectory=true;
openFileDialog1.FilterIndex=1;//设置对话框属性
if(openFileDialog1.ShowDialog()==DialogResult.OK)
{
ImagePath=openFileDialog1.FileName;
HD.ReadImage(hWindowControl1.HalconWindow,ImagePath);//voidHDevelopExport.ReadImage(HtupleWindow,stringpath)
this.btnHandle.Enabled=true;//读取图片后处理图片按钮可用
}
}
//处理图片按钮操作
privatevoidbtnHandle_Click_1(objectsender,EventArgse)
{
HD.ImagePro();
this.btnHandle.Enabled=false;//处理图片后处理图片按钮不可用
}
}
publicpartialclassHDevelopExport
{
publicHTuplehv_ExpDefaultWinHandle;//Htuple--Halcontuple,tuple是Halcon特有的数据结构,可用于图形和控制变量,是与外界程序数据交互的通道
HObjectho_Image,ho_GrayImage;
//Mainprocedure
publicvoidInitHalcon()
{
//DefaultsettingsusedinHDevelop
HOperatorSet.SetSystem("do_low_error","false");
}
//读取图片
publicvoidReadImage(HTupleWindow,stringpath)
{
hv_ExpDefaultWinHandle=Window;
HOperatorSet.GenEmptyObj(outho_Image);//创建一个空的tuple对象
ho_Image.Dispose();
HOperatorSet.ReadImage(outho_Image,path);
HOperatorSet.DispObj(ho_Image,hv_ExpDefaultWinHandle);
}
//处理图片
publicvoidImagePro()
{
HOperatorSet.Rgb1ToGray(ho_Image,outho_GrayImage);
HOperatorSet.DispObj(ho_GrayImage,hv_ExpDefaultWinHandle);
ho_GrayImage.Dispose();
}
}
}
程序运行后点击“读取图片”选择图片路径出现如下界面:
点击“打开”
点击“处理图片”
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Halcon 结合 C# 二次开发 读取 图片 处理