1. 程式人生 > >opencv中的bitwise_not,bitwise_xor,bitwise_or,bitwise_and的使用方法與效果。

opencv中的bitwise_not,bitwise_xor,bitwise_or,bitwise_and的使用方法與效果。

  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);


}