Perform hyperspectral image classification with SVM

Suppose I have a 648x1024 pixel grayscale set of 20 images (in 20 different bands). Those images represent a boat in the middle of sea. I now want to perform SVM on these imagery. The questions I have are the following:
- I want to create two different classes: boat and water. I want to 'manually' color them, for example, with blue and red. How do I do that? I tried do binarize the image, but I got problems with that. The grayscale image shows a lot of bright spots in the 'water' part and also in the 'boat' part. That is why I got an infinite number of different classes, regarding different white blobs. The aim of this is to basically create a classification map (see picture below) for ground truth comparison.
(source: A Paper on SVM-based hyperspectral image classification using intrinsic dimension by Mahdi Hasanlou & Farhad Samadzadegan & Saeid Homayouni)
- Then, I want to perform SVM. How do I deal with the imagery I have? I want to find a classifier that can eventually classify with high accuracy the boat as boat and water as water. For that should I crop image parts of the set of images that have the boat and others that have only water? And some with a mixture of both? Or can I use somehow the entire 648x1024 image?
That's it for now. I will kindly wait for your answers. Thank you

Antworten (2)

Surjya Kanta Ghosh
Surjya Kanta Ghosh am 13 Okt. 2016

0 Stimmen

Suppose I have a 648x1024 pixel grayscale set of 20 images (in 20 different bands). Those images represent a boat in the middle of sea. I now want to perform SVM on these imagery. The questions I have are the following:
- I want to create two different classes: boat and water. I want to 'manually' color them, for example, with blue and red. How do I do that? I tried do binarize the image, but I got problems with that. The grayscale image shows a lot of bright spots in the 'water' part and also in the 'boat' part. That is why I got an infinite number of different classes, regarding different white blobs. The aim of this is to basically create a classification map (see picture below) for ground truth comparison.
(source: A Paper on SVM-based hyperspectral image classification using intrinsic dimension by Mahdi Hasanlou & Farhad Samadzadegan & Saeid Homayouni)
- Then, I want to perform SVM. How do I deal with the imagery I have? I want to find a classifier that can eventually classify with high accuracy the boat as boat and water as water. For that should I crop image parts of the set of images that have the boat and others that have only water? And some with a mixture of both? Or can I use somehow the entire 648x1024 image?
That's it for now. I will kindly wait for your answers. Thank you

Gefragt:

am 29 Aug. 2016

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by