OpenCV图像尺寸无需读取整个图像

use*_*427 5 c++ opencv image

我正在使用OpenCV并且正在读取数十亿字节的图像 - 太多而无法一次装入内存.但是,我需要初始化一些需要图像尺寸的基本结构.目前我正在使用imread然后立即释放图像,这实在是效率低下.

有没有办法在不读取整个文件的情况下使用opencv获取图像尺寸?如果没有,你能否建议另一个可以解析标题的库(最好是轻量级的,可以看作是它的全部内容)?理想情况下,它至少支持与OpenCV一样多的格式.

Jam*_*ett 2

我不认为这直接在 opencv 中是可能的。

尽管文档中没有指定,但 Java 的ImageReader.getHight(和 getWidth)仅解析图像头,而不是整个图像。

另外,这里有一个看起来合理的轻量级库,它绝对只检查标题,并支持大量的图像格式。

最后,如果您使用的是 Linux,“identify”终端命令还会为您提供尺寸,然后您可以通过编程方式读取这些尺寸。