Mat mask = Mat.zeros(src.size(), src.type());
Rect rect = new Rect(80,25,120,120);
mask.submat(rect).setTo(new Scalar(255,255,255));
Mat dst = new Mat();
Core.bitwise_and(src, mask, dst); //mask与src做and运算
ImageUI maskWin = new ImageUI();
maskWin.imshow("bitwise_and", dst);
Core.bitwise_or(src, mask, dst);
Core.bitwise_not(src, dst);
Mat mask = Mat.zeros(src.size(), CvType.CV_8UC1);
Rect rect = new Rect(80,25,120,120);
mask.submat(rect).setTo(new Scalar(255));
Mat dst = new Mat();
Core.bitwise_not(src, dst, mask); //把mask区域取反操作其他区域忽略不计
ImageUI maskWin = new ImageUI();
maskWin.imshow("bitwise_not", dst);
Mat red = new Mat(src.size(), src.type());
red.setTo(new Scalar(0, 0, 255));
Mat dst = new Mat();
Core.bitwise_and(src, red, dst, mask); //mask区域src与red进行and操作其他区域忽略不计
ImageUI maskWin = new ImageUI();
maskWin.imshow("mask操作", dst);
PS : submat(rect)截取rect大小的区域