Mercurial > octave
diff scripts/image/ind2gray.m @ 559:4e826edfbc56
[project @ 1994-07-25 22:18:28 by jwe]
Initial revision
author | jwe |
---|---|
date | Mon, 25 Jul 1994 22:19:05 +0000 |
parents | |
children | 3470f1e25a79 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/image/ind2gray.m Mon Jul 25 22:19:05 1994 +0000 @@ -0,0 +1,35 @@ +function Y = ind2gray(X,map) +#Convert an octave indexed image to a gray scale intensity image. +# +#Y = ind2gray(X) converts an indexed image to a gray scale intensity +#image. The current colormap is used to determine the intensities. +#The intensity values lie between 0 and 1 inclusive. +# +#Y = ind2gray(X,map) uses the specified colormap instead of the current +#one in the conversion process. +# +#SEE ALSO: gray2ind, rgb2ntsc, image, colormap + + if (nargin == 1) + map = colormap; + endif + + # Convert colormap to intensity values. + yiq = rgb2ntsc(map); + y = yiq(:,1); + + # We need Fortran indexing capability, but be sure to save the user's + # preference. + pref = do_fortran_indexing; + do_fortran_indexing = "true"; + + # Replace indices in the input matrix with indexed values in the output + # matrix. + [rows, cols] = size(X); + Y = y(X(:)); + Y = reshape(Y,rows,cols); + + # Restore the user's preference. + do_fortran_indexing = pref; + +endfunction