Digitizing raster automatically?

The QGIS solution in Mapperz' reply is just a simple raster to vector conversion and has no edge detection, so I doubt it would be very effective for this use-case. It will give you polygons per pixel value and for a photo that could result in almost a polygon per pixel!

A better option in QGIS might be to use the Edge Extraction feature in the Sextante Plugin (now called 'Processing' in v 2.x).

Go: Geoalgorithms->Images->Feature Extraction->Edge Extraction.

But like Mapperz says, sometimes digitizing is faster (and more accurate) by hand than using an automated system because you know what a feature is by looking at the image but the computer has no way of knowing. To an automated system its all just shade of grey or colour from which edges might be detectable.

If you have a TON of images to digitize then your best bet is to send them away to a digitizing company which specializes in this sort of thing. There are loads around the world (especially India) and they have undertaken time-and-motion studies to the nth degree to reduce the costs. Most use a combined process of automated scanning and human digitizing. For bulk conversion it is probably cheaper and quicker to outsource to specialists.


ArcMap (10.2)

Use ArcScan http://resources.arcgis.com/en/help/main/10.2/index.html#//000w00000001000000 but you have to change you image to 8 bit black and white for automatic vectorisation.

Note lots of images require clean-up this can be the time consuming component. http://resources.arcgis.com/en/help/main/10.2/index.html#/About_preparing_raster_data_for_vectorization/000w00000017000000/

(sometimes it is faster digitise by hand than going through arcscan.)

http://resources.arcgis.com/en/help/main/10.2/index.html#/About_automatic_vectorization/000w00000029000000/

QGIS (1.8)

Raster to vector conversion (Plugins : GdalTools required) enter image description here

Full guide http://hub.qgis.org/wiki/quantum-gis/Raster_to_vector_conversion


This is a classification problem which is best suited to methods outside of ArcMap. Our brains have a very easy time interpreting collections of pixels and assembling them into meaningful objects such as roads. However, these tasks are much more difficult for a computer and require classification algorithms. ArcMap has useful pixel-based classifiers (ISODATA, MLC, etc), although is lacking in the more sophisticated object-oriented classification methods (image segmentation, feature extraction). I should add that there is a third-party extension called Feature Analyst that can be used in conjunction with ArcMap. However, I would direct you toward the FOSS GIS and image processing software called SPRING, which I have found very useful in object-oriented image classification. I posted a more detailed description of road extraction methods here which may be useful for you.