Question

Let me start by saying I LOVE YOU. Thank you.

Next order of business:

octave-3.2.3:8> xin = imread('3Phone.png');
octave-3.2.3:9> colormap(gray(256));
octave-3.2.3:10> image(xin);
error: invalid value for array property "cdata"
error: set: expecting argument 2 to be a property name
error: set: expecting argument 4 to be a property name
error: set: expecting argument 6 to be a property name
error: called from:
error:   /Applications/Octave.app/Contents/Resources/share/octave/3.2.3/m/image/__img__.m at line 57, column 7
error:   /Applications/Octave.app/Contents/Resources/share/octave/3.2.3/m/image/image.m at line 75, column 5
error: A(I): Index exceeds matrix dimension.
error: called from:
error:   /Applications/Octave.app/Contents/Resources/share/octave/3.2.3/m/plot/__go_draw_axes__.m at line 383, column 22
error:   /Applications/Octave.app/Contents/Resources/share/octave/3.2.3/m/plot/__go_draw_figure__.m at line 92, column 3
error:   /Applications/Octave.app/Contents/Resources/share/octave/3.2.3/m/plot/gnuplot_drawnow.m at line 91, column 5
octave-3.2.3:10> 

I am using Octave 3.2.3 on Mac OS X (Snow Leopard). This is a very basic attempt to display an image that has been read and stored memory. Any help on fixing this problem would be much appreciated. Thanks!

Was it helpful?

Solution

My guess, When you read a png file - Make sure it's a grayscale file. Otherwise there are 3 Matrices (RGB). Therfore you can't use Gray Colormap.

If 2Phone.png is a color image, Try (At least this is what I would do in Matlab):

xin = imread('3Phone.png');
image(xin(:, :, 1);
colormap(gray(256));

This would display only the R Matrix.

Or better, use RGB2Gray (Of course, use the equivalent of Octave).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top