2012-06-28 3 views
0

라이브러리를 사용하여 다중 페이지 TIFF 파일의 페이지 수를 알아 내려고 한 적이 있습니까?CImg 라이브러리를 사용하여 다중 페이지 티프의 페이지 수를 확인하십시오

파일의 모든 단일 페이지에 대한 히스토그램을 계산하려고합니다.

은 TIFF 파일을로드하고 이미지 개체를 만들 수있는 내 코드입니다 : 반환 된 이미지가 null의 경우

#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)` 

기능을 사용하고 확인을 시도 할 수 있습니다를/예외가 throw됩니다. 이것은 내가 원하는 것에 깨끗한 방법처럼 보이지 않습니다. 모든 아이디어를 높이 평가합니다!

+0

그럼 솔루션은 간단 해 보입니다. 각 페이지의 픽셀 오프셋을 계산하려면 그림의 크기를 사용해야합니다. image.size()는 width * height * page_number와 같습니다. – fourcube

+0

또 다른 해결책 : 그냥 TIFF를 CImgList 으로 읽고이를 반복 할 수 있습니다. 목록에는 TIFF 파일의 모든 단일 페이지에 대한 이미지가 포함됩니다. – fourcube

답변

0

CImgList :: load_tiff() 함수가 귀하의 친구가 될 것 같습니다. 다중 페이지 티프 파일에는 크기가 다른 여러 이미지가 포함될 수 있으므로 목록의 모든 이미지는 크기가 다릅니다 (각 z에 해당하지 않음). 결과를 얻으려면 CImgList를 사용하는 것이 더 좋습니다. - CImg의 단락).

+0

답장을 보내 주셔서 감사합니다. 나는 이미 내 자신의 의견에이 질문에 대답했지만, 다른 사람들도 똑같은 방식으로 그렇게 할 것이라는 것을 안다는 것을 알고있다. – fourcube

관련 문제