2012-06-28 27 views
0

您有没有试过找出多页TIFF文件的页面数量是否为CImg库?使用CImg库找出多页面tiff的页数

我正在试图计算文件中每一个页面的直方图。

这是我的代码加载TIFF文件,并创建一个Image对象:

#define cimg_use_tiff 
#include <CImg.h> 
using namespace cimg_library; 

void reader::read_tiff(char * filename){ 
    CImg<short> img(filename); 
} 

我可以propably尝试使用

CImg<T>::load_tiff (const char *const filename, const unsigned int first_frame=0, const unsigned int last_frame=~0U, const unsigned int step_frame=1)` 

功能,并检查返回的图像为空/抛出异常。这似乎不是一个干净的方式,以我想要的。任何想法表示赞赏!

+0

那么解决方案似乎很简单。我只需要使用图片的尺寸来计算每个页面的像素偏移量。 image.size()等于width * height * page_number。 – fourcube

+0

另一种解决方案: 可以将TIFF读入CImgList 并对其进行迭代。该列表包含TIFF文件每一页的图像。 – fourcube

回答

0

看起来像CImgList :: load_tiff()函数将成为你的朋友。 多页面tiff文件可能包含多个不同尺寸的图像,因此 最好使用CImgList来获取结果,因为任何图像的列表可以有 都有不同的尺寸(每个z不是这样CImg)。

+0

谢谢你的回复。我已经在我自己的评论中回答了这个问题,但是知道别人会以同样的方式来做这件事,感觉很舒服。 – fourcube