我对 OpenCV 有疑问。我正在使用这个库在两个向量(大小为 65356x1 的 Mat 对象)之间进行除法。两个向量都包含 0,并且除法对每个数组元素执行此操作。问题是当它除以0时,运算(例如0/0),它的结果不是NaN,是0!。我认为这是错误的...是否有某种方法可以获得正确的结果(使用 NaN)或者我做错了什么?
代码很简单:
Mat G = im_g/tableReshaped; //(where img_g and tableReshaped are 65356x1 matrices).
最佳答案
这是 cv::devide
函数的预期行为。除以零时返回 0:
dst(y, x) = src2(y, x) != 0 ? src1(y, x) / src2(y, x) : 0;
如果你想得到 NaN,你可以编写自己的除法循环。
关于opencv - OpenCV 中的非数字“NaN 与算术运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17880810/