C#联合Halcon读取图像文件
1、添加引用
2、界面编写
3、读取图片
/// <summary>
/// 采集图像
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
string ImagePath;
objOpenFile.Filter = "JPEG文件|*.jpg*|BMP文件|*.bmp*";
objOpenFile.RestoreDirectory = true;
HOperatorSet.GenEmptyObj(out ho_Image);
HOperatorSet.GenEmptyObj(out ho_GrayImage);
HOperatorSet.GenEmptyObj(out ho_Region);
ho_Image.Dispose();
if (objOpenFile.ShowDialog() == DialogResult.OK)
{
ImagePath = objOpenFile.FileName;
//读取图片
HOperatorSet.ReadImage(out ho_Image, ImagePath);
}
}
4、处理显示图片
/// <summary>
/// 处理显示图片
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
//打开窗口,控件的宽,高,句柄
HOperatorSet.OpenWindow(0, 0, this.hWindowControl1.Width, this.hWindowControl1.Height, this.hWindowControl1.HalconWindow, "visible", "", out hv_WindowHandle);
HDevWindowStack.Push(hv_WindowHandle);
//处理
ho_GrayImage.Dispose();
HOperatorSet.Rgb1ToGray(ho_Image, out ho_GrayImage);
ho_Region.Dispose();
HOperatorSet.Threshold(ho_GrayImage, out ho_Region, 128, 255);
//显示
if (HDevWindowStack.IsOpen())
{
HOperatorSet.DispObj(ho_Region, HDevWindowStack.GetActive());
}
}
5、显示结果