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!