if an satellite image contain different features like forest area,reservoir ,hill then how to count areas of forest, hill ,reservoir separately?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
ajay
am 4 Jan. 2014
Kommentiert: Image Analyst
am 29 Jan. 2014
if an satellite image contain different features like forest area,reservoir ,hill then how to count areas of forest, hill ,reservoir separately?
0 Kommentare
Akzeptierte Antwort
Image Analyst
am 4 Jan. 2014
You need to do "classification". It's a whole field of image analysis, especially important in remote sensing. Look up papers and algorithms here: http://iris.usc.edu/Vision-Notes/bibliography/contentscartog.html#Cartography,%20Aerial%20Images,%20Remote%20Sensing,%20Buildings,%20Roads,%20Terrain,%20ATR. It's far too complicated to just give you a 500 line snippet of code here. You're going to have to do development of an algorithm that works with your images.
2 Kommentare
Image Analyst
am 6 Jan. 2014
How do you want to draw a boundary? With plot() from the boundary coordinates of the binary image of the forest? If so, do this
boundaries = bwboundaries(binaryImage);
imshow(originalImage);
title('Outlines, from bwboundaries()');
hold on;
boundaries = bwboundaries(binaryImage);
numberOfBoundaries = size(boundaries, 1);
for k = 1 : numberOfBoundaries
thisBoundary = boundaries{k};
plot(thisBoundary(:,2), thisBoundary(:,1), 'g', 'LineWidth', 2);
end
hold off;
do this for any class you want the boundaries of. Do one at a time, getting a new binary image for each class. Plot boundaries in a different color for each class if you want.
Weitere Antworten (1)
ajay
am 6 Jan. 2014
1 Kommentar
Image Analyst
am 29 Jan. 2014
You can use your classified image to create a binary image.
binaryImage = classifiedImage == classNumberThatYouWant;
Then use bwboundaries
boundaries = bwboundaries(binaryImage);
Siehe auch
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!