I'm comparing different classification methods (parallelepiped & max likehood) with ENVI 5.0 Classic. I'm supposed to use the same ROI from one image on various images and validate the classification with Kappa Index (Cohen's). How do I use the same ROI on different images? Note that I don't want to transfer the ROI from one image to another. What I need is to use the spectral information collected from ROIs on file A to train my classification methods for image B and C. The same training has to be used to different images. So far, I've tried using ROI Tool > calculate covariance with stats and then the Endmember Collection in order to apply the stats in a different image. I choose one of the methods described above and load my .sta file but the classification returns an entirely black image.

Any hints on how to solve this, or suggestions of a different method?

The images have been through atmospheric correction and cropping only.


Convert the original ROI to shapefile, then convert the ROI to shapefile with the new image. ENVI 5: How to create ROIs in ENVI 5 provides detailed explanation about how to transfer the ROI among different images.

  • I'm not sure... I mean, shapefiles contain spatial data, right? If I take my ROIs from image A, turn them into shp and then import them to image B, I'll just be replicating the poligons from image A to image B, but pixels that they are now covering won't necessarily contain the same spectral information from A. What I need is to use the spectral information collected from ROIs on file A to train my classification methods on different images.
    – Eric Lino
    Nov 6 '16 at 3:14
  • 1
    This cannot be done, because the spectral information of image A is different from the spectral information of image B. You cannot use the same spectral information of one image to apply it on another image, but what you have to do is use the same ROI for all images in order to see the changes happened in your images as change detection. Each image has its own reflectance which is different from the other. To use the same ROI amongst other images you should convert the ROI of image A into shapefile then import it again and convert it to ROI to take the reflectance values of the image B.
    – ahmadhanb
    Nov 6 '16 at 13:53
  • I see. But, if the region has changed a lot between two images, then the ROI won't give an accurate response, right? For example: Given 2 images (A and B) from a flooded area in different seasons: wet and dry. I set my ROI on a flooded area composed entirely by blue pixels regarding the water class. If I export that ROI to image B, the region inside the ROI won't necessarily be all blue pixels (water class), because the area will have dried, leading to a ROI with containing brown pixels, which will mess up classification entirely. Thus, you're saying I'll have to draw new ROIs for it?
    – Eric Lino
    Nov 7 '16 at 14:20
  • 1
    The best way to do that is to see where the flooded areas are common on both images first before drawing the ROI. In this case you don't need to draw a new ROI for the second image.
    – ahmadhanb
    Nov 7 '16 at 14:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.