Skip to content
Paul Woelfel edited this page Oct 25, 2015 · 7 revisions

Areaselector plugin

What is areaselector for?

Areaselector was designed to help mapping buildings in Austria based on basemap.at images. This imagery is good but could have a little bit higher quality to better detect edges. That is also the main reason why the algorithm has been adjusted to work as good as possible with that images.

How can I configure it?

See Configuration

How does it work

Areaselector records the point where you click in JOSM and renders all background layers together.

Canny Edge Detector

There are two algorithms, which will be used. The first ist the canny edge detection algorithm of boofcv. It detects all edges and creates a polygon out of it.

It works good, if the images are high quality and the lines are thin. In the image polygon-2, you can see that it might detect two lines, if the border of an area is a little thicker. That might lead to inaccurate results.

Custom algorithm

The second algorithm is a custom developed algorithm, which works good with thicker border lines. It extracts all areas from the image, where the color is similar to the marked position. After that thining and noise reduction is applied. The lines will be skeletonized and boofcv is used to find the border polygon. This process is more CPU intense, than the boofcv canny edge detector.

  1. base image

  2. gaussian filter

  3. Color inverted

  4. thining 1

  5. thining 2

  6. noise reduction 1

  7. noise reduction 2

  8. skeleton

  9. detected polygon

  10. detected polygon on the background image

Choosing the algorithm

The standard setting is to try the canny edge detector and if it fails, use the custom algorithm, which is successfull in most of the cases, but might not be that exact, depending on the picture.

In my experience it's best to try out, which algorithm works better for your usecase. The algorithm can be selected in the areaselector preferences.