Achraf
Achraf

Reputation: 658

Type, size, dimensions of an image in MATLAB

How do I retrieve type, size, and dimensions of an image in MATLAB?

Upvotes: 3

Views: 17837

Answers (2)

Filippos
Filippos

Reputation: 134

You can get the information about an image file using imfinfo, which outputs a structure with various fields including the width, height and colortype.

For example:

InfoImage = imfinfo('peppers.png');
InfoImage = 
                  Filename: '/Applications/MATLAB_R2014a.app/toolbox/matlab/imagesc...'
               FileModDate: '02-Apr-2013 15:55:52'
                  FileSize: 287677
                    Format: 'png'
             FormatVersion: []
                     Width: 512
                    Height: 384
                  BitDepth: 24
                 ColorType: 'truecolor'
           FormatSignature: [137 80 78 71 13 10 26 10]
                  Colormap: []
                 Histogram: []
             InterlaceType: 'none'
              Transparency: 'none'
    SimpleTransparencyData: []
           BackgroundColor: []
           RenderingIntent: []
            Chromaticities: []
                     Gamma: []
               XResolution: []
               YResolution: []
            ResolutionUnit: []
                   XOffset: []
                   YOffset: []
                OffsetUnit: []
           SignificantBits: []
              ImageModTime: '16 Jul 2002 16:46:41 +0000'
                     Title: []
                    Author: []
               Description: 'Zesty peppers'
                 Copyright: 'Copyright The MathWorks, Inc.'
              CreationTime: []
                  Software: []
                Disclaimer: []
                   Warning: []
                    Source: []
                   Comment: []
                 OtherText: []

Then you can get the info you want with regular structure assignment:

With = InfoImage.Width;
Height = InfoImage.Height;
Colortype = InfoImage.ColorType;

After that you're good to go. You can display this information in textboxes by setting their "String" property to what you want:

set(handles.WidthTextbox,'String',num2str(InfoImage.Width));
and so on for the other fields.

CHECK OUT MORE HERE.

Upvotes: 1

Jonas
Jonas

Reputation: 74940

IMFINFO should show you the information you're looking for.

Here's the example from the MATLAB help:

info = imfinfo('ngc6543a.jpg')

info = 

       Filename: [1x95 char]
    FileModDate: '01-Oct-1996 17:19:44'
       FileSize: 27387
         Format: 'jpg'
  FormatVersion: ''
          Width: 600
         Height: 650
       BitDepth: 24
      ColorType: 'truecolor'
FormatSignature: ''
NumberOfSamples: 3
   CodingMethod: 'Huffman'
  CodingProcess: 'Sequential'
        Comment: {[1x69 char]}

Upvotes: 11

Related Questions