if an satellite image contain different features like forest area,reservoir ,hill then how to count areas of forest, hill ,reservoir separately?
2 次查看(过去 30 天)
显示 更早的评论
if an satellite image contain different features like forest area,reservoir ,hill then how to count areas of forest, hill ,reservoir separately?
0 个评论
采纳的回答
Image Analyst
2014-1-4
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 个评论
Image Analyst
2014-1-6
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.
更多回答(1 个)
ajay
2014-1-6
1 个评论
Image Analyst
2014-1-29
You can use your classified image to create a binary image.
binaryImage = classifiedImage == classNumberThatYouWant;
Then use bwboundaries
boundaries = bwboundaries(binaryImage);
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!