OpenCV:如何找到特定维度上的最小元素?
我是 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 minMaxIdx 函数查找多维数组上的最小值/最大值:
非零
minIdx
和maxIdx
应指向具有足够长度来存储所有维度索引的数组(3对于 3 维垫)。minVal
和maxVal
用于返回单个最小值/最大值。如果您不需要这些值,它们可以为 0。You can use minMaxIdx function to find minimum/maximum on multidimensional array:
Non-zero
minIdx
andmaxIdx
should point to the arrays having enough length to store indexes for all dimensions (3 for 3-dimensional Mat).minVal
andmaxVal
are used to return single minimum/maximum value. They can be 0 if you don't need the values.