OpenCV 4.11.0
开源计算机视觉
|
按需读取多页图像。 更多…
#include <opencv2/imgcodecs.hpp>
类 | |
结构体 | iterator |
公有成员函数 | |
ImageCollection () | |
ImageCollection (const String &filename, int flags) | |
const Mat & | at (int index) |
iterator | begin () |
iterator | end () |
Ptr< Impl > | getImpl () |
void | init (const String &img, int flags) |
const Mat & | operator[] (int index) |
void | releaseCache (int index) |
size_t | size () const |
保护成员属性 | |
Ptr< Impl > | pImpl |
按需读取多页图像。
ImageCollection 类提供迭代器 API 来按需读取多页图像。创建指向图像集合的迭代器并遍历集合。使用操作符*解码必要的页面。
如果集合按顺序递增,则页面解码的性能为 O(1)。如果用户想要访问随机页面,则时间复杂度为 O(n),因为每次为了到达正确的页面都需要重新初始化集合。但是,在此过程中不会解码中间页面,因此通常速度很快。这是必需的,因为多页编解码器不支持向后跳转。解码一个页面后,它将存储在集合缓存中。因此,尝试从已解码的页面获取Mat 对象的时间复杂度为 O(1)。如果需要内存,可以使用 .releaseCache() 方法释放缓存的索引。如果所有页面都解码到内存中,则空间复杂度为 O(n)。用户能够按需解码和释放图像。
cv::ImageCollection::ImageCollection | ( | ) |
cv::ImageCollection::ImageCollection | ( | const String & | filename, |
int | flags ) |
const Mat & cv::ImageCollection::at | ( | int | index | ) |
iterator cv::ImageCollection::begin | ( | ) |
iterator cv::ImageCollection::end | ( | ) |
Ptr< Impl > cv::ImageCollection::getImpl | ( | ) |
void cv::ImageCollection::init | ( | const String & | img, |
int | flags ) |
const Mat & cv::ImageCollection::operator[] | ( | int | index | ) |
void cv::ImageCollection::releaseCache | ( | int | index | ) |
size_t cv::ImageCollection::size | ( | ) | const |
|
protected |