Mercurial > hg > octave-image
changeset 167:8072e38f637b
Add ImageMagick++ support to imread
author | tpikonen |
---|---|
date | Mon, 31 Oct 2005 15:20:27 +0000 |
parents | 1da10331dd30 |
children | d756a7b6d533 |
files | Makeconf.add Makefile configure.add imread.m |
diffstat | 4 files changed, 30 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/Makeconf.add +++ b/Makeconf.add @@ -1,2 +1,3 @@ @DEFHAVE_JPEG@ @DEFHAVE_PNG@ +@DEFHAVE_MAGICKXX@
--- a/Makefile +++ b/Makefile @@ -8,9 +8,13 @@ PNG=pngread.oct pngwrite.oct endif +ifdef HAVE_MAGICKXX + IMAGEMAGICK=__imagemagick__.oct __magick_read__.oct +endif + all: conv2.oct cordflt2.oct bwlabel.oct bwfill.oct rotate_scale.oct \ houghtf.oct graycomatrix.oct \ - $(JPEG) $(PNG) + $(JPEG) $(PNG) $(IMAGEMAGICK) jpgread.oct: jpgread.cc $(MKOCTFILE) $< -ljpeg @@ -23,5 +27,11 @@ pngwrite.oct: pngwrite.cc $(MKOCTFILE) $< -lpng + +__imagemagick__.oct: __imagemagick__.cc + $(MKOCTFILE) $< -lMagick++ -lMagick + +__magick_read__.oct: __imagemagick__.oct + $(LN_S) __imagemagick__.oct $@ clean: ; -$(RM) *.o octave-core core *.oct *~
--- a/configure.add +++ b/configure.add @@ -1,7 +1,7 @@ if test -e main/image/NOINSTALL ; then - dnl Not installing so don't test for libjpeg/libpng. + dnl Not installing so don't test for libjpeg/libpng/libMagick++. STATUS=none else @@ -36,6 +36,16 @@ STATUS="$STATUS, png.h not found" fi + AC_CHECK_PROG(HAVE_MAGICKXX, Magick++-config, yes) + if test $HAVE_MAGICKXX ; then + STATUS="$STATUS, ImageMagick++" + AC_SUBST(DEFHAVE_MAGICKXX) + DEFHAVE_MAGICKXX="HAVE_MAGICKXX=1" + else + STATUS="$STATUS, ImageMagick++ not found" + fi + + fi dnl Append the status message to the global status message. This will
--- a/imread.m +++ b/imread.m @@ -29,7 +29,7 @@ ## Modified: Stefan van der Walt <stefan@sun.ac.za> ## Date: 24 January 2005 -function varargout = imread(filename, options) +function varargout = imread(filename, varargin) if (nargin != 1) usage("I = imread(filename)") endif @@ -43,9 +43,14 @@ error("imread: cannot find %s", filename); endif - ## divert jpegs and pngs to "jpgread" and "pngread" + [ig, ig, ext] = fileparts(fn); ext = upper(ext); + if ( file_in_loadpath("__magick_read__.oct") ) + varargout{:} = __magick_read__(fn, varargin{:}); + break + endif + ## divert jpegs and pngs to "jpgread" and "pngread" if ( file_in_loadpath("jpgread.oct") && (strcmp(ext, ".JPG") || strcmp(ext, ".JPEG")) ) varargout{1} = jpgread(fn);