Full text: Proceedings; XXI International Congress for Photogrammetry and Remote Sensing (Part B4-1)

487 
The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences. Vol. XXXVII. Part B4. Beijing 2008 
Figure 2. 1:25.000 scaled map produced with suggested work 
flow. 
3.1 Semi-Automatic Feature Extraction Software 
The semi-automatic feature extraction software thus developed 
is based on level-set and image segmentation algorithms. There 
are three problems during the design process. The first problem 
is to start the algorithm. This is solved by pointing to any pixel 
on the feature that will be drawn by the operator. Thus, the level 
cluster algorithm can start from the point that operator selects. 
This solution makes the approach semi-automatic. 
The second problem is to decide the criteria for drawing process 
will continue from pointed node or not. It is solved by using the 
color values of pixels which constitute the raster image. The 
color value of the pointed node or the mean color value of 
neighboring pixels, according to a defined neighborhood degree, 
are compared and the algorithm is continued if the value 
difference is smaller than tolerance value or stopped if the value 
is bigger than the tolerance value. In other words, segmentation 
is carried out according to the color differences of pixels. After 
determining the feature and completing the pointing works the 
feature must be obtained as vector data and so transformation 
from raster to vector data is effected. 
The semi-automatic feature extraction program that solves three 
problems mentioned below consists of 5 main stages. These 
stages are: 
• Selection of the point or pixel of a feature that will be 
extracted by the operator, 
• Making the image segmentation of a selected pixel by using 
the color differences with the neighboring pixels, 
• Propagation of segmentation and storing in heap sort 
format by using level-set method 
• To get 1 bit (black or white) raster mask data from those 
pixels. 
Automatic extraction of features in a known vector format by 
using raster to vector conversion tool on the raster mask data. 
The first four steps were implemented by coding in the Borland 
C++ programming language without using any libraries except 
for system libraries. The fifth step was implemented by using an 
open source code which was found on internet. The code was 
revised in Visual C++ language. Effectively, the entry of vertex 
tolerances and comer coordinates became possible. (Eker, 2006). 
3.2 Image segmentation algorithm 
Image segmentation depends on the color differences between 
pixels. A tolerance value is entered to increase flexibility by the 
operator. Therefore, by increasing the tolerance value in high- 
contrast-images, the operator will have the capability of 
digitizing large area by in one operation. The initial value for 
the segmentation algorithm is determined as 2 multiplied by the 
width multiplied by the height of the image. 
Segmentation starts by marking first point of the feature. The 
mean value of that pixel and neighbouring pixels according to 
neighbouring level is determined as the reference color value. If 
the neighbouring level is 0, the value of pixel; if the 
neighbouring level is 1, the mean of the pixel and neighbouring 
8 pixels’ values is determined as beginning value (Eker, 2006). 
When calculating differences between the color value of 
reference points and neighboring pixels, color differences in 
three bands (red, blue and green) are calculated separately and 
examined if they are lower than the threshold value. 
3.3 Propagation by level group and storage 
The starting value needed for propagation by the level-set 
algorithm or for moving ahead through a feature is met by the 
semi-automatic nature of the developed algorithm. Propagation 
of the surface will begin from the pixel that is marked by the 
operator and the zero level-set function is defined by the 
location of this pixel. 
The other component needed for level-set function is the 
threshold value which controls the propagation. The solution for 
threshold values is realized by calculation of color differences 
that is mentioned above. 
After starting the propagation a solution for the problem of the 
direction in which it will continue through the pixels satisfying 
the threshold values, remains. A high speed algorithm is 
beneficial in solving this problem. The functioning can go on 
propagating from the pixel which has the smallest value 
(Sethian,1998). But what will the smallest value describe? 
In the developed algorithm, for the question of what the 
smallest value would represent, the first pixel marked by the 
operator is accepted as a zero level group function and every 
neighboring pixel (the first pixels in west, east, north and south 
direction) is checked by the color difference algorithm 
described above and for the pixels that meet the condition, the 
distances from the zero level group (first marked pixel) are 
calculated and in this way the continuation of propagation 
through pixels with the shortest distance of separation is 
provided. 
For the completion of the propagation, updates have to be done 
(Sethian,1998). In an update procedure algorithms for the 
calculation of distance squaring are used (Sethian,1998) 
Minimum mass structure (heap sort) is used for storage and 
communication of marked pixels. In minimum mass structure 
the smallest image cell is on the top. Some functions are needed 
to protect the heap sort: Adding the image cell to the heap, 
making the image cell stable in the heap, taking out the image
	        
Waiting...

Note to user

Dear user,

In response to current developments in the web technology used by the Goobi viewer, the software no longer supports your browser.

Please use one of the following browsers to display this page correctly.

Thank you.