逻辑操作其中包括:与、或、非、异或。
void QuickDemo::bitwise_demo(Mat &image) {
Mat m1 = Mat::zeros(Size(256, 256), CV_8UC3);
Mat m2 = Mat::zeros(Size(256, 256), CV_8UC3);
rectangle(m1, Rect(100, 100, 80, 80), Scalar(255, 255, 0), -1, LINE_8,0);//绘制矩形
rectangle(m2, Rect(150, 150, 80, 80), Scalar(0, 255, 255), -1, LINE_8,0);//绘制矩形
imshow("m1", m1);
imshow("m2", m2);
Mat dst;
bitwise_xor(m1, m2, dst);//进行异或操作
imshow("像素位操作", dst);
}
其中rectangle函数用法:
C++: void rectangle (Mat& img, Rect rec, const Scalar& color, int thickness=1, int lineType=LINE_8, int shift=0 )
参数介绍:
img:图像名称 Rect rec包括两部分:(pt1:矩形的左上顶点 pt2:图像大小)
color:线条颜色 (RGB) 或亮度(灰度图像 )(grayscale image)。
thickness:组成矩形的线条的粗细程度。取负值时(如 CV_FILLED)函数绘制填充了色彩的矩形。
line_type:线条的类型,见cvLine的描述
shift:坐标点的小数点位数。