OpenCV:如何找到特定维度上的最小元素?

发布于 2024-12-07 10:44:53 字数 231 浏览 1 评论 0原文

我是 OpenCV 的新用户。我使用的是 2.3.2 版本(来自 SVN 存储库)。 我有一个特定的 3 维 cv::Mat 结构,大小为 288 x 384 x 10。这表示 288 x 384 图像,其他 10 个通道表示视差值。我想找到最小元素及其位置。 OpenCV 中有一个 minMaxElem 函数,它不适用于多维数组。知道如何使用 OpenCV 中的通道分割函数来执行此操作吗?

I'm a new user to OpenCV. I'm using version 2.3.2 (from the SVN repository).
I have a specific 3-dimensional cv::Mat structure which is 288 x 384 x 10. This represents a 288 x 384 image and the other 10 channels represent a disparity value. I want to find the minimum element and its location. There is a minMaxElem function in OpenCV with it doesn't work with multi-dimensional arrays. Any idea how I can use the channel splitting functions in OpenCV to perform this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

找个人就嫁了吧 2024-12-14 10:44:53

您可以使用 minMaxIdx 函数查找多维数组上的最小值/最大值:

void minMaxIdx(InputArray src, double* minVal, double* maxVal,
                      int* minIdx=0, int* maxIdx=0, InputArray mask=noArray());

非零 minIdxmaxIdx 应指向具有足够长度来存储所有维度索引的数组(3对于 3 维垫)。
minValmaxVal 用于返回单个最小值/最大值。如果您不需要这些值,它们可以为 0。

You can use minMaxIdx function to find minimum/maximum on multidimensional array:

void minMaxIdx(InputArray src, double* minVal, double* maxVal,
                      int* minIdx=0, int* maxIdx=0, InputArray mask=noArray());

Non-zero minIdx and maxIdx should point to the arrays having enough length to store indexes for all dimensions (3 for 3-dimensional Mat).
minVal and maxVal are used to return single minimum/maximum value. They can be 0 if you don't need the values.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文