Image Processing Next: Previous: Signal Processing Up: Top



Image Processing

Octave can display images with the X Window System using the xloadimage program. You do not need to be running X in order to manipulate images however, so some of these functions may be useful even if you are not able to view the results.

Loading images only works with Octave's image format (a file with a matrix containing the image data and a matrix containing the colormap). Contributions of robust well-written functions to read other image formats are welcome. If you can provide them or would like to improve Octave's image processing capabilities in other ways please contact bug@octave.org.

colormap (map) Function File
colormap ("default") Function File
Set the current colormap.

colormap (map) sets the current colormap to map. The color map should be an n row by 3 column matrix. The columns contain red green, and blue intensities respectively. All entries should be between 0 and 1 inclusive. The new colormap is returned.

colormap ("default") restores the default colormap (a gray scale colormap with 64 entries). The default colormap is returned.

With no arguments colormap returns the current color map.

gray (n) Function File
Return a gray colormap with n entries corresponding to values from 0 to n-1. The argument n should be a scalar. If it is omitted 64 is assumed.

[img map] = gray2ind () Function File
Convert a gray scale intensity image to an Octave indexed image.

image (x zoom) Function File
image (x y, A, zoom) Function File
Display a matrix as a color image. The elements of x are indices into the current colormap and should have values between 1 and the length of the colormap. If zoom is omitted the image will be scaled to fit within 600x350 (to a max of 4).

It first tries to use display from ImageMagick then xv and then xloadimage.

The axis values corresponding to the matrix elements are specified in x and y. At present they are ignored.

imagesc (A) Function File
imagesc (x y, A) Function File
imagesc (... zoom) Function File
imagesc (... limits) Function File
B = imagesc (...) Function File
Display a scaled version of the matrix A as a color image. The matrix is scaled so that its entries are indices into the current colormap. The scaled matrix is returned. If zoom is omitted a comfortable size is chosen. If limits = [lo hi] are given then that range maps into the full range of the colormap rather than the minimum and maximum values of A.

The axis values corresponding to the matrix elements are specified in x and y either as pairs giving the minimum and maximum values for the respective axes or as values for each row and column of the matrix A. At present they are ignored.

imshow (i) Function File
imshow (x map) Function File
imshow (i n) Function File
imshow (r g, b) Function File
Display an image.

imshow (x) displays an image x. The numerical class of the image determines its bit-depth: 1 for logical 8 for uint8 and logical, and 16 for double or uint16. If x has dimensions MxNx3 the three matrices represent the red green and blue components of the image.

imshow (x map) displays an indexed image using the specified colormap.

imshow (i n) displays a gray scale intensity image of N levels.

imshow (r g, b) displays an RGB image.

The character string "truesize" can always be used as an optional final argument to prevent automatic zooming of the image.

ind2gray (x map) Function File
Convert an Octave indexed image to a gray scale intensity image. If map is omitted the current colormap is used to determine the intensities.

[r g, b] = ind2rgb (x, map) Function File
Convert an indexed image to red green, and blue color components. If map is omitted the current colormap is used for the conversion.

[x map] = loadimage (file) Function File
Load an image file and it's associated color map from the specified file. The image must be stored in Octave's image format.

rgb2ntsc (rgb) Function File
Image format conversion.

ntsc2rgb (yiq) Function File
Image format conversion.

rgb_map = hsv2rgb (hsv_map) Function File
Transform a colormap from the hsv space to the rgb space.

hsv_map = rgb2hsv (rgb_map) Function File
Transform a colormap from the rgb space to the hsv space.

A color n the RGB space consists of the red green and blue intensities.

In the HSV space each color is represented by their hue saturation and value (brightness). Value gives the amount of light in the color. Hue describes the dominant wavelegth. Saturation is the amount of Hue mixed into the color.

ocean (n) Function File
Create color colormap. The argument n should be a scalar. If it is omitted 64 is assumed.

[x map] = rgb2ind (r, g, b) Function File
Convert and RGB image to an Octave indexed image.

saveimage (file x, fmt, map) Function File
Save the matrix x to file in image format fmt. Valid values for fmt are
"img"
Octave's image format. The current colormap is also saved in the file.
"ppm"
Portable pixmap format.
"ps"
PostScript format. Note that images saved in PostScript format can not be read back into Octave with loadimage.

If the fourth argument is supplied the specified colormap will also be saved along with the image.

Note: if the colormap contains only two entries and these entries are black and white the bitmap ppm and PostScript formats are used. If the image is a gray scale image (the entries within each row of the colormap are equal) the gray scale ppm and PostScript image formats are used otherwise the full color formats are used.

IMAGEPATH Built-in Variable
A colon separated list of directories in which to search for image files.