| AWARE [SYSTEMS] | Imaging expertise for the Delphi developer | |||||||
![]() |
TIFF and LibTiff Mailing List Archive | |||||||
LibTiff Mailing List
TIFF and LibTiff Mailing List Archive Contact
The TIFF Mailing List Homepage |
Thread2009.04.28 18:15 "Libtiff and OpenCV", by Andreas HHi,
I'm stuck and I hope some of you can give me an advise. I use libtiff
because opencv cannot read my source tif images.
My original image is stored in img. I use the code snipped beneath for
converting the imageData (char buffer) to a uint8 buffer
named TIFFImageData
IplImage* img;
.
.
.
TIFFImageData = (uint8*) _TIFFmalloc(width*height * sizeof (uint8));
// allocate temp memory
for (int x = 0; x < w; x++) {
// printf("loop...%d to %d\n",count++,w);
for (int y = 0; y < h; y++) {
TIFFImageData[h * x + y] = (uint8) img->imageData[h *
x + y]; // Copy data from ipl to tif
}
}
Afterward I want to write TIFFImageData to my new TIF (that will
consist of many of my source tif images) using WriteTileToTiff below.
int WriteTileToTiff(TIFF* tif, uint8* buf, long size, int x, int y){
if (tif) {
tsize_t tilenumber = -1;
tsize_t writtendata = -1;
writtendata=TIFFWriteTile(tif,buf,x,y,0,NULL);
printf("%d data written to new tif \n",writtendata);
if (writtendata==-1){
printf("[ERROR] TIFFWriteEncodedTile returned -1...\n");
}
TIFFClose(tif);
return 0;
}else{
return -1;
}
return -1;
}
The result is a strange looking tiff, like if I did something wrong
during converting. My source image
is an 8-Bit grayscale tif.
andreas@host:$ identify real_604.tif
real_604.tif TIFF 1392x1024 1392x1024+0+0 PseudoClass 256c 8-bit
120.99kb
Thanks in advance for your help,
Andreas
|
|||||||