opencv中的bitwise_not,bitwise_xor,bitwise_or,bitwise_and的使用方法與效果。
阿新 • • 發佈:2019-02-20
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>
對兩個影象進行”異“處理。
<span style="font-size:18px;">void bitwise_or(InputArray src1, InputArray src2, OutputArray dst, InputArray mask = noArray());</span>
計算每個位操作分離的兩個陣列或一個數組和一個標量。
對畫素進行加和。<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);
}