1.将二指图片的效果反转既黑色变白色,白色变黑色。

 使用 

<span style="font-size:18px;">bitwise_not(InputArray src, OutputArray dst, InputArray mask = noArray());</span>
使用前


使用后:


int main() {
    Mat image,image2;
image=imread("")//路径;
threshold(image, image2, 100, 255, THRESH_BINARY);//二值图像
bitwise_not(image2,image2);
imshow("result",image2);


}

对于上述的效果同样可以使用threshold来完成,只要修改threshold的阙值类型即可达到


threshold(image,image2,100,255,THRESH_BINARY_INV);即和使用bitwise_not同样的效果。threshold的具体用法参考点击打开链接


使用下列图分别处理效果图

2 bitwise_xor

<pre name="code" class="cpp"><span style="font-size:18px;">bitwise_xor(InputArray src1, InputArray src2, OutputArray dst, InputArray mask = noArray());</span>

对两个图像进行”异“处理。


3 bitwise_or

 
<span style="font-size:18px;">void bitwise_or(InputArray src1, InputArray src2,  OutputArray dst, InputArray mask = noArray());</span>

计算每个位操作分离的两个数组或一个数组和一个标量。


4  bitwise_and

<span style="font-size:18px;">bitwise_and(InputArray src1, InputArray src2,  OutputArray dst, InputArray mask = noArray());</span>
对像素进行加和。



int main()
{
	Mat srcimage = imread("C:\\Users\\Administrator\\Desktop\\2.jpg");
	Mat dstimage = imread("C:\\Users\\Administrator\\Desktop\\34.jpg");
	Mat outputimage,out,andout;
	bitwise_xor(srcimage, dstimage, outputimage);
	bitwise_or(srcimage, dstimage, out);
	bitwise_and(srcimage, dstimage, andout);
		imshow("xor", outputimage);
		imshow("or", out);
		imshow("and", andout);
	waitKey(0);


}


        

更多推荐