2012-06-28 37 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