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

卫斯理米兰达

opencv中的Mat和SparseMat有什么区别?什么时候使用?

深的

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

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

然而,

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

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

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

  • 此处阅读有关 OpenCV 中基本图像容器的更多信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章