AWARE [SYSTEMS] Imaging expertise for the Delphi developer
AWare Systems, Imaging expertise for the Delphi developer, Home TIFF and LibTiff Mailing List Archive

LibTiff Mailing List

TIFF and LibTiff Mailing List Archive
February 2001

Previous Thread
Next Thread

Previous by Thread
Next by Thread

Previous by Date
Next by Date

Contact

The TIFF Mailing List Homepage
This list is run by Frank Warmerdam
Archive maintained by AWare Systems



Valid HTML 4.01!



Thread

2001.02.20 16:08 "need help", by Chakravarthy Terlapu
2001.02.20 17:19 "Re: need help", by Leonard Rosenthol

2001.02.20 16:08 "need help", by Chakravarthy Terlapu

Hi,

I have a image called street.tif and 2 boxes whose coordinates are for
example as follows;

//Box1
frc[i].lx = x1;   //left x-coordinate        
frc[i].ly = y1;   //left y-coordinate   
frc[i].tx = x2;   //top x-coordinate   
frc[i].ty = y2;   //top y-coordinate   
frc[i].rx = x3;   //right x-coordinate   
frc[i].ry = y3;   //right y-coordinate 
frc[i].bx = x4;   //bottom x-coordinate 
frc[i].by = y4;   //bottom y-coordinate 

//Box2
frc[i].lx = x11; 
frc[i].ly = y11; 
frc[i].tx = x22; 
frc[i].ty = y22; 
frc[i].rx = x33; 
frc[i].ry = y33; 
frc[i].bx = x44;
frc[i].by = y44;   

I need to create a new image say street1.tif which contains 
street.tif - boxes i.e I have to erase all pixels within the
box1 and box2.

It would be great if anyone could help me. 

THanks
Chakravarthy Terlapu



 #include "tiffio.h"
 #include <stdio.h>

main()
{ 
  int i,j,k;
  unsigned short t;
  int linebytes, outbytes;
  uint32 w,h;
  uint32 row;
  unsigned char *inbuf,*outbuf;
 
  TIFF* in;
  TIFF* out;
 
  in=TIFFOpen("street.tif","r");
  out=TIFFOpen("street1.tif","w");
 
  TIFFGetField(in, TIFFTAG_IMAGELENGTH, &h);
  TIFFGetField(in, TIFFTAG_IMAGEWIDTH, &w);

  TIFFSetField(out, TIFFTAG_IMAGELENGTH, h);
  TIFFSetField(out, TIFFTAG_IMAGEWIDTH, w);
  TIFFSetField(out, TIFFTAG_SAMPLESPERPIXEL, 1);
  TIFFSetField(out, TIFFTAG_BITSPERSAMPLE, 1);
  TIFFSetField(out, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISBLACK);
  TIFFSetField(out, TIFFTAG_ORIENTATION, 1);

  linebytes=TIFFScanlineSize(in);
  outbytes=TIFFScanlineSize(out);

  inbuf=_TIFFmalloc(linebytes);
  outbuf=_TIFFmalloc(outbytes);

   for(row=0; row<h; i++)
   {
     TIFFReadScanline(in, inbuf, row, 0);

     //Here how can I do the processing of removing the pixels within the box




     TIFFWriteScanline(out, inbuf, row, 0 ); 
   }
  TIFFClose(in);
  TIFFClose(out);

  free(inbuf);
  free(outbuf);
}