非数字“在OpenCV中使用算术运算的NaN”

时间:2013-07-26 12:02:16

标签: opencv nan

我对OpenCV有疑问。我正在两个向量之间用这个库进行除法(Mat对象的大小为65356x1)。两个向量都包含0,并且除法对每个数组元素执行此操作。问题是当它除以0,操作(例如0/0),其结果不是NaN,是0!。我认为这是错误的...有没有办法获得正确的结果(使用NaNs)或者我做错了什么?

代码非常简单:

Mat G = im_g/tableReshaped; //(where img_g and tableReshaped are 65356x1 matrices).

1 个答案:

答案 0 :(得分:2)

这是cv::devide函数的预期行为。它除以零返回0:

dst(y, x) = src2(y, x) != 0 ? src1(y, x) / src2(y, x) : 0;

如果您想获得NaN,您可以编写自己的循环进行划分。