gpt4 book ai didi

c++ - 在忽略 -100 的情况下查找 Mat 中的最小值/最大值

转载 作者:太空宇宙 更新时间:2023-11-03 22:30:46 26 4
gpt4 key购买 nike

我正在尝试使用 opencv min() max() 或 MinMaxLoc() 来获取 Mat 中的最小值和最大值。按照我的垫子的结构方式,具有空数据或无数据的数据点的值为 -100。这些 opencv 函数会忽略 -100 值,还是有一种方法可以在使用预定义函数忽略 -100 值的同时获得最小值?

另一种方法是手动遍历整个 Mat 并计算最小值和最大值,同时忽略 -100,但我想尽可能使用内置函数。为什么要重新发明轮子。

最佳答案

你可以使用NAN,它会被minMaxLoc忽略:

Mat C = (Mat_<double>(3,3) << 0, -1, NAN, -1, 5, -1, 0, -1, 0);
cout << "C = " << endl << " " << C << endl << endl;
SparseMat S = SparseMat(C);

double minVal, maxVal;
minMaxLoc( S, &minVal, &maxVal );
cout << "minVal = " << minVal << endl;
cout << "maxVal = " << maxVal << endl;

输出:

C = 
[0, -1, nan;
-1, 5, -1;
0, -1, 0]

minVal = -1
maxVal = 5

顺便说一句,minmax 比较两个元素(或相同大小数组的元素对)并给出最小值或最大值而不是查找数组的全局最小值和最大值,因此这些可能不是您想要的。

关于c++ - 在忽略 -100 的情况下查找 Mat 中的最小值/最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25922162/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com