【问题标题】:Not-a-Number" NaN with arithmetical operations in OpenCV在 OpenCV 中具有算术运算的非数字“NaN
【发布时间】:2013-07-26 21:34:16
【问题描述】:

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

代码很简单:

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

【问题讨论】:

    标签: opencv nan


    【解决方案1】:

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

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

    如果您想获得 NaN,您可以编写自己的除法循环。

    【讨论】:

      猜你喜欢
      • 2017-04-01
      • 2010-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多