1,图片相与(求交集)Cv2.BitwiseAnd

  1. Mat mat = new Mat(@"I:\OpenCvSharp学习\黑底白框矩形.png", ImreadModes.AnyColor);
  2. Mat mat1 = new Mat(@"I:\OpenCvSharp学习\黑底白框椭圆形.png", ImreadModes.AnyColor);
  3. Mat Outmat1 = new Mat();
  4. Cv2.BitwiseAnd(mat,mat1,Outmat1);
  5. Window window1 = new Window("源图像1", WindowMode.Normal, mat);
  6. Window window2 = new Window("源图像2", WindowMode.Normal, mat1);
  7. Window window3 = new Window("输出图像", WindowMode.Normal, Outmat1);
  8. Cv2.WaitKey(0);

image.png

2,图片相或(求并集)BitwiseOr

  1. Mat mat = new Mat(@"I:\OpenCvSharp学习\黑底白框矩形.png", ImreadModes.AnyColor);
  2. Mat mat1 = new Mat(@"I:\OpenCvSharp学习\黑底白框椭圆形.png", ImreadModes.AnyColor);
  3. Mat Outmat1 = new Mat();
  4. Cv2.BitwiseOr(mat,mat1,Outmat1);
  5. Window window1 = new Window("源图像1", WindowMode.Normal, mat);
  6. Window window2 = new Window("源图像2", WindowMode.Normal, mat1);
  7. Window window3 = new Window("输出图像", WindowMode.Normal, Outmat1);
  8. Cv2.WaitKey(0);

image.png

3,图片非运算(求补集)BitwiseNot

  1. Mat mat = new Mat(@"I:\OpenCvSharp学习\黑底白框矩形.png", ImreadModes.AnyColor);
  2. Mat Outmat1 = new Mat();
  3. Mat Outmat2 = new Mat();
  4. Cv2.BitwiseNot(mat,Outmat1);
  5. Window window1 = new Window("源图像1", WindowMode.Normal, mat);
  6. Window window3 = new Window("输出图像", WindowMode.Normal, Outmat1);
  7. Cv2.WaitKey(0);

image.png

4,图片异或运算

  1. Mat mat = new Mat(@"I:\OpenCvSharp学习\黑底白框矩形.png", ImreadModes.AnyColor);
  2. Mat mat1 = new Mat(@"I:\OpenCvSharp学习\黄底黑框.png", ImreadModes.AnyColor);
  3. Mat Outmat1 = new Mat();
  4. Mat Outmat2 = new Mat();
  5. Cv2.BitwiseXor(mat,mat1,Outmat1);
  6. Window window1 = new Window("源图像1", WindowMode.Normal, mat);
  7. Window window2 = new Window("源图像2", WindowMode.Normal, mat1);
  8. Window window3 = new Window("输出图像", WindowMode.Normal, Outmat1);
  9. Cv2.WaitKey(0);

image.png