[netMarketing类库] vFunBaseMethod类:封装了基础halcon算子

命名空间:netMarketing.vision.CCDMotion.visionFunc.vFunBaseMethod

功能:视觉基础方法, 本类是对halcon算子的直接封装,本类的方法名和halcon对应算子同名字, 以方便对应查看.


功能详细说明:

vFunBaseMethod以C#的函数调用方式封装了halcon的常用算子,由于halcon的算子有数千个,这个类只封装了勇哥常用的算子,目前正在持续增加中。


常用函数列表

image.png

image.png


参考例子:

       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);
        }


image.png


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

作者: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