To extract the roads, I used the scaling factor x = 16 as it enhanced the edges on image better than the other scaling factors.
Prior to the road extraction, a threshold needed to be developed in order for the program to pull out any pixel that we deemed as roadway. The threshold I chose to extract my roads was 115. Although the number is slightly high, I felt that this was an adequate choice because I did not want to extract too many unrelated pixels. Choosing 115 as my threshold also allowed me to extract mostly main roads made of asphalt or concrete roads, verses make-shift trails and roads. Thresholds in the case has allowed us to extract roads more effectively. "The lower the threshold, the more edges will be detected, and the result will be increasingly susceptible to noise and detecting edges of irrelevant features in the image. Conversely a high threshold may miss subtle edges, or result in fragmented edges" (Canny, 1986).
"Threshold values from image to image may vary since the variations in the gray values in the neighborhoods of pixels vary from image to image... thresholding results in the removal of the ambiguity and inappropriateness in choosing global threshold values, and thereby produces reliable, robust, and smooth edges" (Rakesh et al, 2004).
The tool I used to extract the roads is called THR (Thresholding image to bitmap). THR creates bitmaps from image channels, including complex channels, given minimum and maximum threshold values. Once created my bitmap layer, I was able to erase any noise or unwanted pixels that did not resemble roadways. When that was complete, I used the tool BIT2POLY which converts bitmaps to polygons. BIT2POLY creates a whole polygon layer from a bitmap segment. You can also use BIT2LINE which is the same concept as BIT2POLY, except instead of converting the bitmap into a polygon layer, it converts it into a line layer.
Prior to the road extraction, a threshold needed to be developed in order for the program to pull out any pixel that we deemed as roadway. The threshold I chose to extract my roads was 115. Although the number is slightly high, I felt that this was an adequate choice because I did not want to extract too many unrelated pixels. Choosing 115 as my threshold also allowed me to extract mostly main roads made of asphalt or concrete roads, verses make-shift trails and roads. Thresholds in the case has allowed us to extract roads more effectively. "The lower the threshold, the more edges will be detected, and the result will be increasingly susceptible to noise and detecting edges of irrelevant features in the image. Conversely a high threshold may miss subtle edges, or result in fragmented edges" (Canny, 1986).
"Threshold values from image to image may vary since the variations in the gray values in the neighborhoods of pixels vary from image to image... thresholding results in the removal of the ambiguity and inappropriateness in choosing global threshold values, and thereby produces reliable, robust, and smooth edges" (Rakesh et al, 2004).
The tool I used to extract the roads is called THR (Thresholding image to bitmap). THR creates bitmaps from image channels, including complex channels, given minimum and maximum threshold values. Once created my bitmap layer, I was able to erase any noise or unwanted pixels that did not resemble roadways. When that was complete, I used the tool BIT2POLY which converts bitmaps to polygons. BIT2POLY creates a whole polygon layer from a bitmap segment. You can also use BIT2LINE which is the same concept as BIT2POLY, except instead of converting the bitmap into a polygon layer, it converts it into a line layer.
The steps and processes I took to extract roads are as follow:
Part 1: Extracting
1. Load the scaled image of your choice (I chose to use x = 16 as it was easiest for me to interpret and view roads or edges. Choosing a scaled image is up to interpretation based on the user)
2. On the opened image, zoom into a road and click around on a few pixel along the wrong to find a maximum and minimum brightness value.
3. When you have selected you maximum and minimum brightness values, open the algorithm librarian and search for THR. The maximum and minimum values you have chosen will be your threshold maximum and minimum.
4. Once the thresholds are added in, run the filter and a new bit image will appear with only the pixels that fell within the threshold you selected.
5. Save this file appropriately.
Part 2: Erasing and Cleaning up Unwanted Pixels
1. Once you have applied the THR filter, you then will need to clean up the image using some tools
2. You can use the eraser tool located in the top tool bar. This is the method that I used. Another method that you can use is the Clump and Sieve tool in the algorithm librarian.
3. When you are satisfied with the clean up results, you can trace over all the roads you have chosen to ensure each pixel is connected. If the pixels are not connected, the next step will not work properly.
4. Save the final outcome.
Part 3: BONUS - Converting Raster to Vector
1. Open the new raster file you created for the roads.
2. Once satisfied with the results of your roads, you can convert them into a vector file by using BIT2LINE or BIT2POLY. Leave the input parameters as default and run one of the tools.
3. Save the new vector file as a ArcView Shapefile (.shp).
3. Using your new vector file, you can overlay it onto of the original A2Data image to see if the roads you extracted are roads indeed.
You can find the steps to this process in the screen shot guide by clicking HERE.
Part 1: Extracting
1. Load the scaled image of your choice (I chose to use x = 16 as it was easiest for me to interpret and view roads or edges. Choosing a scaled image is up to interpretation based on the user)
2. On the opened image, zoom into a road and click around on a few pixel along the wrong to find a maximum and minimum brightness value.
3. When you have selected you maximum and minimum brightness values, open the algorithm librarian and search for THR. The maximum and minimum values you have chosen will be your threshold maximum and minimum.
4. Once the thresholds are added in, run the filter and a new bit image will appear with only the pixels that fell within the threshold you selected.
5. Save this file appropriately.
Part 2: Erasing and Cleaning up Unwanted Pixels
1. Once you have applied the THR filter, you then will need to clean up the image using some tools
2. You can use the eraser tool located in the top tool bar. This is the method that I used. Another method that you can use is the Clump and Sieve tool in the algorithm librarian.
3. When you are satisfied with the clean up results, you can trace over all the roads you have chosen to ensure each pixel is connected. If the pixels are not connected, the next step will not work properly.
4. Save the final outcome.
Part 3: BONUS - Converting Raster to Vector
1. Open the new raster file you created for the roads.
2. Once satisfied with the results of your roads, you can convert them into a vector file by using BIT2LINE or BIT2POLY. Leave the input parameters as default and run one of the tools.
3. Save the new vector file as a ArcView Shapefile (.shp).
3. Using your new vector file, you can overlay it onto of the original A2Data image to see if the roads you extracted are roads indeed.
You can find the steps to this process in the screen shot guide by clicking HERE.