栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C#OpencvSharp腐蚀与膨胀

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C#OpencvSharp腐蚀与膨胀

近期突然需要将图像进行腐蚀处理 ,一开始没区分C++的opencv 和C# opencvsharp 这两个虽然是一样的但语言不同注意语言不同。而且我VS还没有安装C++环境导致我查询了个把小时的C++opencv ,结果显然不尽人意,然后又想我的包是opencvsharp 然后就去查opencvsharp的内容 好了 能理解了但网上都不全 要一个一个踩坑,就像一开始opencv中的内核 和opencvsharp内核写法不同又没有手册,只能盲目踩坑(只能说学习能力不够)。网上好多不全不是这里没有就是那里没有 今天小编在这里从新整理了一下也有很多不知在评论区指出

第一步去下载OpencvSharp的NuGet包 具体请参考http://t.csdn.cn/qlT8L安装环境

腐蚀:using OpenCvSharp;


       Mat src, erosion_dst, dilation_dst;
        int erosion_elem = 0;
        int erosion_size = 1; ///腐蚀的大小 


            src = OpenCvSharp.Cv2.ImRead(path, OpenCvSharp.ImreadModes.Color);
            erosion_dst = new OpenCvSharp.Mat();//注意目标图像变量
            dilation_dst = new OpenCvSharp.Mat();/注意目标图像变量
            OpenCvSharp.MorphShapes erosion_type = 0;

            if (erosion_elem == 0)
            {
                erosion_type = OpenCvSharp.MorphShapes.Rect;//内核矩形
            }
            else if (erosion_elem == 1)
            {
                erosion_type = OpenCvSharp.MorphShapes.Cross;//内核十字架
            }
            else if (erosion_elem == 2)
            {
                erosion_type = OpenCvSharp.MorphShapes.Ellipse;//内核椭圆
            }
            OpenCvSharp.Mat element = OpenCvSharp.Cv2.GetStructuringElement(erosion_type,
                                 new OpenCvSharp.Size(2 * erosion_size + 1, 2 * erosion_size + 1),
                                 new OpenCvSharp.Point(erosion_size, erosion_size));
            OpenCvSharp.Cv2.Erode(src, dilation_dst, element);//腐蚀
            OpenCvSharp.Cv2.Dilate(dilation_dst, erosion_dst, element);//膨胀

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/971411.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号