python联合halcon_C#与Halcon联合编程

这篇博客介绍了如何在C#环境中利用Python和Halcon进行图像处理。通过一个简单的例子展示了如何打开一个图像文件,使用Halcon进行读取并在窗口中显示。在C#窗体应用中,当用户点击按钮时,弹出文件选择对话框,选择图片后,利用Halcon的函数进行读取和显示操作。
摘要由CSDN通过智能技术生成

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 MySql.Data.MySqlClient;

// halcon命名空间

using HalconDotNet;

using namespace example

{

public partial class test Form

{

HDevelopExportModel HD = new HDevelopExportModel();

public Htuple hv_ExpDefaultWinHandleModel;

private void CreatModel(object sender, EventArgs e)

{

//这个是我在窗口上创建的一个button,点击该button后,打开文件选择一张图片,并将图片进行显示。

// 建立模板按钮

string ImagePath;           // 定义模板图片的路径

HObject readImage = null;   // 定义一个图像常量

OpenFileDialog openFileDialog1 = new OpenFileDialog(); //打开文件进行选择

openFileDialog1.Filter = "BMP文件|*.bmp*|PNG文件|*.png*|JPEG文件|*.jpg*";     //图片的文件格式

openFileDialog1.RestoreDirectory = true;

openFileDialog1.FilterIndex = 1;

if (openFileDialog1.ShowDialog() == DialogResult.OK)

{

// 如果可以打开该文件路径,将该文件路径的图片显示在hWindowControl2窗口,并将图片变量赋值给readImage

ImagePath = openFileDialog1.FileName;

readImage = HD.ReadPicture(hWindowControl2.HalconWindow, ImagePath);

// 读取这张图片并将图片赋值给readImage,这句就是直接调的halcon类了,下边public定义的的是他的类

}

}

}

public partial class HDevelopExportModel

{

public HObject ReadPicture(HTuple window, string ImagePath)

{

// 得到图片显示的窗口句柄

hv_ExpDefaultWinHandleModel = window; //从上个函数传进来的窗口句柄

HOperatorSet.GenEmptyObj(out ho_Image);

ho_Image.Dispose();

HOperatorSet.ReadImage(out ho_Image, ImagePath); //从这个路径读取图片

HOperatorSet.GetImageSize(ho_Image, out hv_Width, out hv_Height); //得到他的大小

HOperatorSet.SetWindowAttr("background_color", "black");

//调整窗口显示大小以适应图片,这句一定要加上,不然图片显示的不全

HOperatorSet.SetPart(hv_ExpDefaultWinHandleModel, 0, 0, hv_Height - 1, hv_Width - 1);

HOperatorSet.DispObj(ho_Image, hv_ExpDefaultWinHandleModel); //将图像在该窗口进行显示

return ho_Image; //返回这个图像

}

} //end HDevelopExportModel

}// end example

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值