[Index for tmp_for_tar/imgio] [Return to Master Index]

ims_pad

(tmp_for_tar/imgio/ims_pad.m)


Function Synopsis

im = ims_pad ( im, bord, col )

Help text

 ims_pad ( im, border, col=0 ) - Pad an image with a given graylevel/color

 im     : struct
 border : 1 or 2 : Size of padding rows/columns, in pixels
 col    : 1 or 3 : Value of padding. Size=3 for RGB images, 1 for gray.

 Last modified: Setembro 2002



Listing of function file tmp_for_tar/imgio/ims_pad.m

## ims_pad ( im, border, col=0 ) - Pad an image with a given graylevel/color
##
## im     : struct
## border : 1 or 2 : Size of padding rows/columns, in pixels
## col    : 1 or 3 : Value of padding. Size=3 for RGB images, 1 for gray.
##

## Author:        Etienne Grossmann  <etienne@isr.ist.utl.pt>
## Last modified: Setembro 2002

function im = ims_pad ( im, bord, col )

if ! is_struct (im),
  rgb = length(col)==3;
  ims = mat2ims(im, rgb, max(im(:)));
  if nargin<3, 
    if rgb, col = [0 0 0];
    else    col = 0;
    end
  end
  ims = ims_pad (ims, bord, col);
  im = ims.im;
end

if nargin<3,
  if im.rgb, col = [0 0 0]; 
  else       col = 0;
  end
end

				# Make bord 1 x 2
if length (bord) == 1, bord = [bord bord]; 
else                     bord = bord(:)';
end

sz = size(im.im);

if im.rgb,
  ## tmp = kron (ones (sz./[1,3] + 2*bord), col);
  tmp = reshape (kron(col',ones (sz(1)+2*bord(1), sz(2)/3+2*bord(2))), \
		 sz + bord.*[2,6] );

  tmp(bord(1)+[1:sz(1)],3*bord(2)+[1:sz(2)]) = im.im;
else
  tmp = col * ones (size (im.im) + 2*bord);
  tmp(bord(1)+[1:sz(1)],bord(2)+[1:sz(2)]) = im.im;
end

im.im = tmp;

Produced by oct2html on Sat Sep 14 9:47:03 2002
Cross-Directory links are: ON