X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=CreaPhase.git;a=blobdiff_plain;f=octave_packages%2Fimage-1.0.15%2Fim2double.m;fp=octave_packages%2Fimage-1.0.15%2Fim2double.m;h=c85d6c95a55e4430d6842a4690b5acf17f4ac43b;hp=0000000000000000000000000000000000000000;hb=c880e8788dfc484bf23ce13fa2787f2c6bca4863;hpb=1705066eceaaea976f010f669ce8e972f3734b05 diff --git a/octave_packages/image-1.0.15/im2double.m b/octave_packages/image-1.0.15/im2double.m new file mode 100644 index 0000000..c85d6c9 --- /dev/null +++ b/octave_packages/image-1.0.15/im2double.m @@ -0,0 +1,47 @@ +## Copyright (C) 2007 Søren Hauberg +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2, or (at your option) +## any later version. +## +## This program is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this file. If not, see . + +## -*- texinfo -*- +## @deftypefn {Function File} @var{im2} = im2double(@var{im1}) +## Converts the input image to an image of class double. +## +## If the input image is of class double the output is unchanged. +## If the input is of class uint8 the result will be converted to doubles +## and divided by 255, and if the input is of class uint16 the image will +## be converted to doubles and divided by 65535. +## @seealso{im2bw, im2uint16, im2uint8} +## @end deftypefn + +function im2 = im2double(im1) + ## Input checking + if (nargin < 1) + print_usage(); + endif + if (!isgray(im1) && !isrgb(im1)) + error("im2double: input must be an image"); + endif + + ## Take action depending on the class of the data + switch (class(im1)) + case "double" + im2 = im1; + case "uint8" + im2 = double(im1) / 255; + case "uint16" + im2 = double(im1) / (pow2(16)-1); + otherwise + error("im2double: unsupported image class"); + endswitch +endfunction