opencv - OpenCV 中的非数字“NaN 与算术运算

标签 opencv nan

我对 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/

相关文章:

c++ - OpenCV Traincascade 返回垃圾

iphone - 如何在 iOS (iPhone) 中使用 opencv 比较图像

python - 给定内核大小时如何标准化OpenCV Sobel过滤器

python - Pandas 随机读取一个NaN?

c - 带符号的 NaN 值

python - 如何附加到 Pandas DataFrame 中的各个列

android - 添加按钮时android opencv崩溃

c++ - Vector<Vec3b> 与 Vector<int> 在 OpenCV 中的区别

python - 这个 'nan'是什么以及如何摆脱它?

ios - 为什么百分比 UILabel 显示 'nan%'