[netMarketing类库] multiVisionWin控件:多窗体halcon视图控件

命名空间:netMarketing.vision.halcon.multiVisionWin

功能:基于halcon视图的多窗口控件,最多四个窗口


功能详细说明:

multVisionWin是一个拥有四个halconWin控件的多窗体控件,由于可以设置为单窗口显示还是四窗口显示,因此许多时候可以替代halconWin控件来使用。

multVisionWin除了拥有halconwin控件的功能与设定,还拥有自己的特有的设定项。


常用函数列表



参考例子:


image.png



image.png

代码:

using HalconDotNet;
using netMarketing.vision.CCDMotion.visionFunc;
using netMarketing.vision.halcon;
using sharClass;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace visionTest
{
    public partial class Form1 : Form
    {
        private halconWin win = null;
        private vFunBaseMethod halcon = new vFunBaseMethod();
        public Form1()
        {
            InitializeComponent();
            multiVisionWin1.leftupLabTxt = "测试窗口";
            multiVisionWin1.windowNumber = 1;
            multiVisionWin1.setMultiVisionWin(null, null, null, null,
                true, true, true, true,
                "", "", "", "");
            win = multiVisionWin1.getLeftUpHwin();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.Size = new Size(584, 550);
        }

        private void da1ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            win.grabphoto();
        }


        private void ssssdddToolStripMenuItem_Click(object sender, EventArgs e)
        {
          
            visionFun7();
        }

        private void visionFun7()
        {
            //分割粘连区域(1)
            var winHandle = win.HalconWindow;
            var Image1 = halcon.read_image("C:/Users/Administrator/Desktop/netMarketing视觉测试/img/201807111531290842377491.jpg");
            (HTuple Width, HTuple Height) = halcon.get_image_size(Image1);
            halcon.set_part(winHandle, 0, 0, Height, Width);
            halcon.dispObj(winHandle, Image1);
            //* 自动阈值分割
            var Region1 = halcon.bin_threshold(Image1);
            //* 分割后选择的是所需的背景,所以求反一次
            var RegionComplement = halcon.complement(Region1);
            
            halcon.dev_display(Image1, winHandle);
            //* dev_display(RegionComplement)
            //* 做一次闭运算
            var RegionClosing = halcon.closing_circle(RegionComplement, 3.5);
            //* 空洞填充
            var RegionFillUp = halcon.fill_up_shape(RegionClosing, vFunBaseMethod.fillShapeFeatureEnum.area, 1, 100);
            
            //* 欧式距离函数的距离变换
            var DistanceImage = halcon.distance_transform(RegionFillUp, vFunBaseMethod.dtMetricEnum.octagonal, true, Width, Height);
           
            halcon.debugSaveBinImg(DistanceImage, null, Width, Height, "DistanceImage.tiff");
            //* int4转byte
            var ImageConverted = halcon.convert_image_type(DistanceImage, vFunBaseMethod.citNewTypeEnum.byte0);
            //* 图像取反
            var ImageInvert = halcon.invert_image(ImageConverted);
            //* 增加对比度
            var ImageScaleMax = halcon.scale_image_max(ImageInvert);
            //* 高斯平滑处理
            var ImageGauss = halcon.gauss_image(ImageScaleMax, 11);
            //* 分水岭算法
            var Basins = halcon.watersheds_threshold(ImageGauss, 10);
            //* 计数统计为29个
            var Number1 = halcon.count_obj(Basins);
            //* 发现有小区域面积干扰,重新选择区域
            var SelectedRegions = halcon.select_shape(Basins, vFunBaseMethod.selectShapeFeatureEnum.area,
                vFunBaseMethod.selectShapeOperationEnum.and, 5267.61, 119050);
            halcon.dispObj2(winHandle, SelectedRegions,2);
            //* 获取到正确的数目25
            Number1 = halcon.count_obj(SelectedRegions);
        }
     }
  }


--------------------- 

作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!

返回类库功能说明目录


本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2024年4月    »
1234567
891011121314
15161718192021
22232425262728
2930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864