I do not think I want the black, opaque areas that gdalbuildvrt is making up for areas where there is no imagery to become transparent and remain black, I want them to be white and opaque. Surely, there are many places in the RGB images where one or more bands is already set to the value 255, and I do not want to change any legit 255 R, G, B values in the imagery. I do not want to convert the 1699 RGB images to RGBA. Essentially, I want for gdalbuildvrt what -init 255 does for gdal_merge.py. But, for now there does not seem to be a way to do that? Greg
On Jan 4, 2010, at 4:08 PM, Even Rouault wrote: > Greg, > > I don't think the issue is really about black or white, but more about > setting nodata appropriately. Basically, if I've well understood your needs, > you want to make some black padding in images transparent. Assuming that your > imagery is RGB, you could try adding -srcnodata 0 to the gdalbuildvrt command > line, so that pixels with value 0 in source imaginery are not drawn in the > VRT buffer. You will also need to specify a -vrtnodata XXX (which is about > like -init XXX of gdal_merge.py, but does more than -init as it sets that > value as nodata), where XXX can be 255 if you want it to be nodata white, but > 0 should also do, but the value should not matter much to QGIS : it should > just ignore the pixels matching the nodata value whichever it is. > > You must be aware of the limitation of the nodata concept when working with > RGB imagery however. Nodata is considered band per band, and not as a > triplet. I mean if you have a blue pixel (0,0,255), and you set a nodata > value of 255 for each of the 3 bands, the blue component of (0,0,255) being > 255, it will be considered as nodata for that component... The only proper > way to deal with that is to work with RGBA imagery. > > Best regards, > > Even >> By default, gdal_merge.py starts by creating an output image with all black >> pixels, and then replaces these black pixels with pixels from the images >> being read in. Passing to gdal_merge.py -init 255 pre-initializes the output >> image to all white, instead of all black, pixels. >> Similar to gdal_merge.py, gdalbuildvrt fills with black pixels. I am seeking >> for gdalbuildvrt, the -init 255 option that gdal_merge.py supports, but do >> not see -init 255 as a supported option on the gdalbuildvrt man page. In >> GDAL 1.7.0, will gdalbuildvrt support -init 255? If not, then in GAL 1.7.0 >> can the option -vrtnodata be used in a way similar to how gdal_merge.py >> supports -init 255? I need areas where there is no image to be white, rather >> than the black that gdalbuildvrt is by default setting them to be. >> Greg >> >> gdal_merge.py man page >> http://www.gdal.org/gdal_merge.html >> gdalbuildvrt man page >> http://www.gdal.org/gdalbuildvrt.html >> gdalbuild_black image >> http://homepage.mac.com/gregcoats/jp2/images/gdalbuildvrt_black.png >> gdalbuildvrt_white image (simulated) >> http://homepage.mac.com/gregcoats/jp2/images/gdalbuildvrt_white.png _______________________________________________ gdal-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/gdal-dev
