VTBuilder and BExtractor
Development Notes
- Large Bitmaps under Windows
- VTBuilder displays elevation layers as very large bitmaps
- However, you can't just ask for a bitmap of any size from windows
- It depends not just on memory, but on operating system and graphics
card as well
- According to the
Very Large Bitmap Experiment,
many older machines cannot produce bitmaps
larger than 2000*2000
- In my experience, using Win32 BITMAP objects works fine on modern
machines for bitmaps up to 4096*4096, but will always fail for larger
values (e.g. 6000*6800, which is a typical size for a USGS DRG)
- The Win32 method that fails is
CreateCompatibleBitmap()
- It would be possible to use DIBSections as an alternative to BITMAP
objects, and in fact BExtractor does this, but to do so would require
making that part of the code Win32-specific, whereas currently all of
VTBuilder is platform-independent
- Image Convolution
- BExtractor currently uses IPL, an discontinued library from a large
manufacturer of CPUs, for doing the automatic detection of small building
locations
- IPL was replaced by another library, IPP in 2002, but the new IPP is
expensive and restrictive
- An alternative to IPL might be to use the portable, open-source library
ImageMagick, which reportedly does
support convolution kernels
- The legal status of IPL is murky. it is and was freely distributed, yet
doesn't explicitly state what occurs in the current situation. One can
speculate from the continued inclusion of most of IPL in
OpenCV that its
distribution is not objectionable, but nonetheless steps should be taken to
port away from it.