scanned map into 3D
Hi Noobie here and could do with some guidance.
I have a .jpg of an ancient volcano and want to be able to visualise it in 3d.
1. What would be the best method to filter out all the map colours and markings to just leave the contour lines?
2. Are there any 3D programs that could 'lift' the contour lines to the appropriate height and then save the results as a 3D model?
Thanks in advance for any help and suggestions
We have had a lot of discussion about similar items on this forum about lifting out something or other from a map. Often not contours but it might as well have been in most cases. The main thing is with regard to the old map is whether the contours have a unique property that can be leveraged to extract them. In most maps they are of a specific colour but in the modern UK ordnance survey maps which have superb contours they share that colour with urban buildings which mean that you can extract contours in ultra rural places.
There is also another issue in that when contours pass into a vertical surface they group together into one line and this makes it very hard to extract the continuity of them. Also, on many maps the contours are layered at near the bottom so that trees, names and just about everything is printed on top of them so that when you extract them they have breaks in them. So if your contours are really dense then these breaks are hard to join up precisely.
Many contour maps have the text height for them printed on the contour line and usually this is done with the number rotated to align with the contour. So that extracting the height means that you need to know the angle of the contour that its relating to or that you need to do some OCR on the number at all angles to extract them correctly.
Finally, I will also point out that the quality of print makes a huge difference too. In modern Ordnance Survey maps they have a halftone which is surprisingly much coarser than older versions of the same map. In other words, as time goes by they are deliberately lowering the quality of them. Whether that is to prevent people from extracting those lines is anyones guess but it does have an impact. This halftone can be somewhat removed using a spatial filter but with thin lines these filters don't work as well as one might need to do the job well.
Now if your map is really old, black and white with good quality lines that can be extracted fairly easily then I would say scan it very high res - as high as you can possibly manage it. Then flood fill between alternating contours so that it produces a zebra striping effect. Then you can clean it up. Then finally you can flood fill them in again with progressive increments of shades of grey to make up a height field bitmap with the highest point in the map white and lowest black. Space the graduations of grey to ramp between then load it into a height map manipulator. Wilbur is free or something expensive can work well.
If you need to just quickly visualize it in realtime 3D then you can use my app which is a free download from here...
Oh yes, you were also looking for something to extract a particular color from a bitmap. You can use the color curves tool on most paint packages to do that job. You use a dropper tool to look at the RGB value ranges of the contour colours and then set up a filter curve to make that colour white and all the rest black. Do separately in R,G and B and it will grab that colour and force the rest to black.
Last edited by Redrobes; 12-06-2010 at 08:38 AM.
Sketchup has a bunch of weird options for mapping a .jpg onto a pre-defined 3d shape to make it the textures, also it has a method of converting contour lines into an exact height map... but sadly, while those all seem close to what you want, they don't sound like what you need... hm.