magI = magI(Rect(0,0,magI.cols& -2,magI.rows& -2));

时间:2015-08-18 09:12:33

标签: c++ opencv

最近我正在学习如何使用opencv来处理图像。在使用该功能 dft(),他们举了一个例子。但我不明白以下代码:
         magI = magI(Rect(0, 0, magI.cols & -2, magI.rows & -2));
    
代码中&的含义是什么,以及代码的含义是什么?
谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

&运算符(按位和)阅读此内容:http://www.cprogramming.com/tutorial/bitwise_operators.html

这里发生的是创建了一个对象Rect,并将其传递给magI。 使用偶数个cols和行(-2 = 0xFFFFFFFE)创建对象Rect,因此清除最低有效位。