C#OpencvSharp腐蚀与膨胀

C#OpencvSharp腐蚀与膨胀,第1张

近期突然需要将图像进行腐蚀处理 ,一开始没区分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);//膨胀

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1499249.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-25
下一篇2022-06-25

发表评论

登录后才能评论

评论列表(0条)

    保存