changeset 215:36e566b5d9d3

Probe image depth from bits rather than Red field, fixes grayscale images (For Thomas Weber)
author adb014
date Wed, 20 Dec 2006 12:59:30 +0000
parents 76d5193dd96b
children 3adc76e1a7c7
files inst/imread.m
diffstat 1 files changed, 8 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/inst/imread.m
+++ b/inst/imread.m
@@ -28,6 +28,11 @@
 ##
 ## Modified: Stefan van der Walt <stefan@sun.ac.za>
 ## Date: 24 January 2005
+##
+## Modified: Thomas Weber <thomas.weber.mail@gmail.com>
+## Date: 20 December 2006
+## Change parsing of imagemagick's output to get the 'color' depth for grayscale
+## images
 
 function varargout = imread(filename, varargin)
     if (nargin != 1)
@@ -64,12 +69,12 @@
       break
     endif
     
-    [sys, ident] = system(sprintf('identify -verbose %s | grep -e "Red: " -e Type',
-				  fn));
+    [sys, ident] = system(sprintf('identify -verbose %s | grep -e "bits" -e Type',
+				  fn))
     if (sys != 0)
 	error("imread: error running ImageMagick's 'identify' on %s", fn)
     endif
-    depth = re_grab("Red: ([[:digit:]]{1,2})", ident);
+    depth = re_grab("([[:digit:]]{1,2})-bits", ident)
     imtype = re_grab("Type: ([[:alpha:]]*)", ident);
 
     depth = str2num(depth);