As a part of a project with the real estate concern Akelius we created a beautiful interactive 3D model of the landmark Kronprinsen in Malmö, Sweden.
In addition to the model we applied some image processing magic to count the tile distribution over the full facade. This will be used by Akelius to be able to restore or replace some of the worn tiles with the correct colors.
Kronprinsen is a building in Malmö that was the first high-rise building in Sweden when it was finished in 1964. During four decades it was the tallest building in Malmö until the Turning Torso was built in 2005.
One of the features of the high-rise building is its facade. It contains tiles of different color that are distributed in order to create a fading effect where the lower parts of the building are dark blue and the top is a brighter blue more similar to the color of the sky.
Since it is an old building the facade, it is in need of an overhaul. To make sure that the fading effect is kept the new owner of Kronprinsen, Akelius, needs to know how the tiles of the facade are distributed.
To solve this problem Spotscale uses drone photos of each floor of the facade. The selected images are undistorted perspective-compensated to have a good material for further image processing.
The first step performed on the images is to suppress the potential noise in the images by using a low pass filter. In this case a Gaussian filter is used to attenuate high frequency noise.
The second part is to detect individual tiles in the facade. This was done by combining several edge detection algorithms combined with morphological operations on the noise reduced images.
First the Canny edge algorithm detects where thin edges between the tiles and these edges are enhanced by performing a closing operation followed by a dilation. These edges are still not straight. To rectify that, a Hough Line detection is performed to make sure that the lines we keep are straight.
The detected lines are then used as a grid and each cell in the grid represents a detected tile. The average color inside one cell is matched against a global multi threshold to classify the tile.
When the tiles are classified by color the distribution for each floor can be calculated.