我对OpenCV有疑问。我正在两个向量之间用这个库进行除法(Mat对象的大小为65356x1)。两个向量都包含0,并且除法对每个数组元素执行此操作。问题是当它除以0,操作(例如0/0),其结果不是NaN,是0!。我认为这是错误的...有没有办法获得正确的结果(使用NaNs)或者我做错了什么?
代码非常简单:
Mat G = im_g/tableReshaped; //(where img_g and tableReshaped are 65356x1 matrices).
答案 0 :(得分:2)
这是cv::devide
函数的预期行为。它除以零返回0:
dst(y, x) = src2(y, x) != 0 ? src1(y, x) / src2(y, x) : 0;
如果您想获得NaN,您可以编写自己的循环进行划分。