如何把阈值分割和自动阈值分割封装到一个函数中

首先关于c#与halcon的联合在上一期已经讲了这一期就不赘述了,下面进入正题

1.首先要打开visual studio创建一个新的windows 窗体应用,将其命名为FromTest用于代码测试

2.在窗体内创建两个button与一个hWindowControl用于功能运行,测试,将第一个button的name改为button_read,text改为测试自己封装的ReadImage或者自己取一个名字,第二个button的name改为button_threshold,text改为测试阈值分割用或者自己取一个名字,hWindowControl的名字改为hWindowControl_yuanshi。

3.双击button_read创建点击事件,如果文件夹图片正确则将图片显示在hWindowControl_yuanshi上,如果不正确则会显示"Algorithm.Imagehelper.ReadImage 失败"

 private void button_read_Click(object sender, EventArgs e)
 {
     string filename = "C:\\Users\\Administrator\\c#\\第二次周测\\第二次周测\\bin\\Debug\\1号图.png";*********这里的图片选择自己电脑上的都可以
     bool result = Algorithm.Imagehelper.ReadImage(out ho_image, filename, hWindowControl_yuanshi.HalconWindow);
     if (result != true)
     {
         MessageBox.Show("Algorithm.Imagehelper.ReadImage 失败");
     }

进行阈值分割的前提是读取图片,这一步测试很有必要

再创建一个Imagehelper的类进行实现,将空间名改为Algorithm

以下是本人的运行结果:

现在可以成功读取图片,也就可以顺利进行阈值分割与自动阈值分割的包装与测试了。

4.双击button_threshold创建点击事件,先将上一步读取图片的步骤放上去

再对里面需要的参数进行封装,新建一个thresholdDef.cs也将空间名改为Algorithm好被调用,首先用枚举进行定义,将几个函数封装

然后在class thresholdDef中进行定义

封装完成后转回Imagehelper.cs对封装进行调用

最后回到FormTest.cs中对button_threshold_Click点击事件进行补充

最后右击项目属性将输出类型改为控制台应用程序,运行FormTest进行测试

这时会弹出两个窗口

点击测试阈值分割用会显示以下内容

若要用普通阈值分割可将FormTest.cs中的代码改为:

进行调用,结果如下:

5. 总结
通过将阈值分割和自动阈值分割封装到一个函数中,我们不仅简化了图像处理的过程,还提高了代码的可读性和重用性。这种设计模式在处理图像时非常实用,适用于各种场景的图像分析任务。希望本文能对你的图像处理工作有所帮助!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值