if an satellite image contain different features like forest area,reservoir ,hill then how to count areas of forest, hill ,reservoir separately?
1 回表示 (過去 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!