gpt4 book ai didi

c++ - OpenCV 中的 Mat 和 SparseMat 有什么区别?

转载 作者:行者123 更新时间:2023-11-28 04:18:13 25 4
gpt4 key购买 nike

opencv中Mat和Sparse Mat有什么区别?什么时候使用每一个?

最佳答案

cv::Matcv::SparseMat 之间的主要区别在于它们在内部存储数据的方式。

cv::Mat 使用与 C 数据数组密切相关的数据数组(其中数据按顺序打包,地址可直接从元素)

然而,

cv::SparseMat 使用哈希表 仅存储非零元素。该哈希表是自动维护的,因此当数组中(非零)元素的数量变得太大而无法有效查找时,该表会自动增长。

简单来说,
cv::Mat 类用于表示任意维数的密集数组。
cv::SparseMat 当数组与非零条目的数量相比可能非常大时使用类。

  • cv:Matcv::SparseMat都是OpenCV C++实现中的基本数据结构; cv::Mat 类是最大的实现。在 OpenCV 中阅读更多关于它们和其他基本数据结构的信息 here

  • 阅读更多关于 OpenCV 中基本图像容器的信息 here .

关于c++ - OpenCV 中的 Mat 和 SparseMat 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56085506/

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