메서드를 사용하여 약 500x500 32 비트 픽셀의 한 스트립으로 구성된 tiff 파일을 읽으려고 libtiff를 얻으려고합니다. TIFFReadScanline (tif, buf, row). 이 날 날 tdata_t (??) 행을 제공합니다.Libtiff : 픽셀 값을 얻는 방법 또는 TIFF 파일을 텍스트 파일로 변환하는 방법
이 버퍼를 텍스트 파일이나 액세스 픽셀 값 (두 배로해야 함)으로 어떻게 쓸 수 있습니까? 나는 텍스트 파일로 전체 버퍼를 쓰는 작성하려고 마지막 줄에서
TIFF* tif = TIFFOpen(c_str2, "r");
uint32 imagelength;
tdata_t buf;
uint32 row;
TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &imagelength);
buf = _TIFFmalloc(TIFFScanlineSize(tif));
for (row = 0; row < imagelength; row++){
TIFFReadScanline(tif, buf, row);
myfile << buf << endl;
}
을하지만 이중 값하지만 진수 - 값이 없습니다 :
내 코드는 다음과 같습니다. tdata_t 버퍼를 char 버퍼로 대체 할 때 ASCII 심볼 횡설수설이 있습니다. 나는 tdata_t 버퍼를 double 또는 char 버퍼로 변환해야한다고 생각하지만 어떻게해야합니까?
libtiff가 자동으로 이것을 처리하므로 바이트 순서가되어서는 안됩니다.
모든 의견 환영합니다! 도움 주셔서 감사합니다. 즐거운 주말 보내십시오.
덕분 수레! 이제 저는 버퍼를 플로트 버퍼로 직접 초기화했습니다. – Michael
Tiff 라이브러리는 데이터를 메모리 블록에 덤프하는 것으로 추측하고 있습니다. 유형을 신경 쓰는 것은 출력 루틴 일뿐입니다. –