MATLAB Answers

Unable to process .img files in MATLAB

4 views (last 30 days)
Warid Islam
Warid Islam on 29 Mar 2021
Edited: Kojiro Saito on 30 Mar 2021
I am trying to perform operations on images that are in the .img format. I am able to open the files in Matlab. I want to perform manual cropping (using computer mouse) on those files without converting it into jpeg/png or other formats. The result is shown in e4.fig file which is not correct. I am unable to attach the TM570007_LML_08_06.img file as it is not supported in this forum. Any suggestions would be appreciated.
I=imageload('D:\regionGrowing_MLT\TM570007_LML_08_06.img');
imshow(I,[])
% Display image
% imshow(im);
% Use GETRECT to select a rectangle region by using the mouse
sp=getrect;
% Get the x and y co-ordinates
sp(1) = max(floor(sp(1)), 1); %xmin
sp(2) = max(floor(sp(2)), 1);%ymin
sp(3)= min(ceil(sp(1) + sp(3))); %xmax
sp(4)=min(ceil(sp(2) +sp(4))); %ymax
% Index into the original image to create the new image
MM=I(sp(2):sp(4), sp(1): sp(3),:);
image(MM)
set(gca,'Visible','off')

Accepted Answer

Kojiro Saito
Kojiro Saito on 30 Mar 2021
Edited: Kojiro Saito on 30 Mar 2021
UPDATED ANSWER
Thank you. I've tested both img files. Suppose you want to clip the image, you just need to do
imshow(MM, [])
instead of image(MM). Because image requires color matrix data, but your img file is a grayscale image.
ORIGINAL ANSWER
I'm not sure what is the root cause of this issue without an actual img file, but you're using R2020b you can use readgeoraster function for ERDAS IMAGIN file (.img). Mapping Toolbox is requred, but it's more easier.
Instead of using imageload, how about using readgeoraster?
I = readgeoraster('D:\regionGrowing_MLT\TM570007_LML_08_06.img');
  5 Comments

Sign in to comment.

More Answers (0)

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!