Emgu中的OpenCV Bitwise_and函数

时间:2014-03-29 18:23:53

标签: c# .net opencv emgucv

如何在Emgu中使用Bitwise_and函数?我在Emgu wiki Bitwise_and找到了它,但我不知道怎么称呼它!

我正在尝试将该代码从c ++转换为c#Tuto

2 个答案:

答案 0 :(得分:1)

你只需使用&像1 + 2中的加号一样的普通算子。

使用此:

resultPic = firstPic & secondPic;

答案 1 :(得分:0)

请参阅方法签名: CvInvoke.BitwiseAnd (IInputArray src1 ,IInputArray src2 ,IOutputArray dst ,IInputArray 掩码 = null)

我们举一个例子: im1.pngim2.png

        Mat im1 = new Mat(path + "im1.png", LoadImageType.Grayscale);
        Mat im2 = new Mat(path + "im2.png", LoadImageType.Grayscale);

        Mat im1andim2 = new Mat();
        CvInvoke.BitwiseAnd(im1, im2, im1andim2);
        im1andim2.Save(path + "im1andim2.png");

给出: im1andim2.png

如果您需要使用面具,请按以下步骤操作:

我们来看看这个面具:msk.png

        Mat msk = new Mat(path + "msk.png", LoadImageType.Grayscale);
        Mat im1andim2Masked = new Mat();
        CvInvoke.BitwiseAnd(im1, im2, im1andim2Masked, msk);
        im1andim2Masked.Save(path + "im1andim2Masked.png");

此时生成的图片为:im1andim2Masked.png