OpenCV中的MAT和SPARSEMAT有什么区别

What is the difference between Mat and SparseMat in OpenCV?

本文关键字:什么 区别 SPARSEMAT 中的 MAT OpenCV      更新时间:2023-10-16

openCV中的垫子aNf sparsemat有什么区别?什么时候使用每个?

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

cv::Mat使用数据阵列与C数据阵列密切相关(其中数据是依次包装的,地址是可以从元素索引直接计算的(

>

,而

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

简单的术语,
cv::Mat类用于表示任何数量的尺寸的密集阵列。
与非零条目的数量相比,当数组可能很大时,使用cv::SparseMat类。

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

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