annotate scripts/image/imread.m @ 17350:ba79ba4e83ab

Rewrite of imfinfo. * __magick_read__.cc (is_indexed, get_depth, read_maps): new functions to check if image is indexed, identify bitdepth, and read colormap. Extracted from __magick_read__() and read_indexed_image() so they can be shared with __magick_finfo__. (read_indexed_images): readjusted to use read_maps(). (__magick_read__): readjusted to use new functions is_indexed() and get_depth(). (magick_to_octave_value): remove template for unspecific classes. New ones for CompressionType, and OrientationType. (disposal_methods): new. Returns a map so it may be used in the future for writing animated GIFs. (__magick_finfo__): complete rewrite. Use of octave_scalar_map and fast_element_insert (instead of contents() and non-linear operator()) has a nice improvement for multipage images. Removed fields are: LongFormat, TotalColors, TileName, Matte, ModulusDepth, QuantizeColors, and View. New fields are: FormatVersion, Comment, DisposalMethod, Chromaticities, Compression, Colormap, and Orientation. Renamed fields are: AnimationDelay to DelayTime, AnimationIterations to LoopCount, and ResolutionUnits to ResolutionUnit. Macro was removed since it is no longer required. GraphicsMagick seems to no longer throw exception when parameter is not present, and we are using read_file() so try-catch block was also removed. Values returned by ResolutionUnit changed for Matlab compatibility. Added CMYK to ColorType. * imfinfo.m: document new, and remove old, info, fields returned. * imread.m: document imfinfo should be used to obtain multiple colormaps in case of multipage images.
author Carnë Draug <carandraug@octave.org>
date Thu, 29 Aug 2013 06:31:55 +0100
parents 1c89599167a6
children 040752d07240
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
16984
997efb8d0b19 imread: implement options Index, Frames, and Info.
Carnë Draug <carandraug@octave.org>
parents: 16967
diff changeset
1 ## Copyright (C) 2013 Carnë Draug
16768
e2de3c8882be copyright notice fixes
John W. Eaton <jwe@octave.org>
parents: 14363
diff changeset
2 ## Copyright (C) 2008-2012 Thomas L. Scofield
e2de3c8882be copyright notice fixes
John W. Eaton <jwe@octave.org>
parents: 14363
diff changeset
3 ## Copyright (C) 2008 Kristian Rumberg
e2de3c8882be copyright notice fixes
John W. Eaton <jwe@octave.org>
parents: 14363
diff changeset
4 ## Copyright (C) 2006 Thomas Weber
e2de3c8882be copyright notice fixes
John W. Eaton <jwe@octave.org>
parents: 14363
diff changeset
5 ## Copyright (C) 2005 Stefan van der Walt
8920
eb63fbe60fab update copyright notices
John W. Eaton <jwe@octave.org>
parents: 8664
diff changeset
6 ## Copyright (C) 2002 Andy Adler
7925
9316b59903c9 Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff changeset
7 ##
9316b59903c9 Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff changeset
8 ## This file is part of Octave.
9316b59903c9 Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff changeset
9 ##
9316b59903c9 Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff changeset
10 ## Octave is free software; you can redistribute it and/or modify it
9316b59903c9 Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff changeset
11 ## under the terms of the GNU General Public License as published by
9316b59903c9 Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff changeset
12 ## the Free Software Foundation; either version 3 of the License, or (at
9316b59903c9 Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff changeset
13 ## your option) any later version.
9316b59903c9 Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff changeset
14 ##
9316b59903c9 Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff changeset
15 ## Octave is distributed in the hope that it will be useful, but
9316b59903c9 Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff changeset
16 ## WITHOUT ANY WARRANTY; without even the implied warranty of
9316b59903c9 Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff changeset
17 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
9316b59903c9 Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff changeset
18 ## General Public License for more details.
9316b59903c9 Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff changeset
19 ##
9316b59903c9 Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff changeset
20 ## You should have received a copy of the GNU General Public License
9316b59903c9 Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff changeset
21 ## along with Octave; see the file COPYING. If not, see
9316b59903c9 Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff changeset
22 ## <http://www.gnu.org/licenses/>.
9316b59903c9 Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff changeset
23
9316b59903c9 Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff changeset
24 ## -*- texinfo -*-
16944
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
25 ## @deftypefn {Function File} {[@var{img}, @var{map}, @var{alpha}] =} imread (@var{filename})
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
26 ## @deftypefnx {Function File} {[@dots{}] =} imread (@var{filename}, @var{ext})
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
27 ## @deftypefnx {Function File} {[@dots{}] =} imread (@var{url})
16962
fb940d48c6f7 doc: document index argument for reading multipage images.
Carnë Draug <carandraug@octave.org>
parents: 16944
diff changeset
28 ## @deftypefnx {Function File} {[@dots{}] =} imread (@dots{}, @var{idx})
16984
997efb8d0b19 imread: implement options Index, Frames, and Info.
Carnë Draug <carandraug@octave.org>
parents: 16967
diff changeset
29 ## @deftypefnx {Function File} {[@dots{}] =} imread (@dots{}, @var{param1}, @var{val1}, @dots{})
7925
9316b59903c9 Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff changeset
30 ## Read images from various file formats.
9316b59903c9 Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff changeset
31 ##
16944
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
32 ## Reads an image as a matrix from the file @var{filename}. If there is
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
33 ## no file @var{filename}, and @var{ext} was specified, it will look for
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
34 ## a file named @var{filename} and extension @var{ext}, i.e., a file named
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
35 ## @var{filename}.@var{ext}.
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
36 ##
16962
fb940d48c6f7 doc: document index argument for reading multipage images.
Carnë Draug <carandraug@octave.org>
parents: 16944
diff changeset
37 ## The size and class of the output depends on the
9072
bd8e388043c4 Cleanup documentation for signal.texi, image.texi, audio.texi
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
38 ## format of the image. A color image is returned as an
11591
1d13679b587e Use @nospell macro on certain words in docstrings.
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
39 ## @nospell{MxNx3} matrix. Gray-level and black-and-white images are
16962
fb940d48c6f7 doc: document index argument for reading multipage images.
Carnë Draug <carandraug@octave.org>
parents: 16944
diff changeset
40 ## of size @nospell{MxN}. Multipage images will have an additional 4th
fb940d48c6f7 doc: document index argument for reading multipage images.
Carnë Draug <carandraug@octave.org>
parents: 16944
diff changeset
41 ## dimension.
17350
ba79ba4e83ab Rewrite of imfinfo.
Carnë Draug <carandraug@octave.org>
parents: 17338
diff changeset
42 ##
16962
fb940d48c6f7 doc: document index argument for reading multipage images.
Carnë Draug <carandraug@octave.org>
parents: 16944
diff changeset
43 ## The bit depth of the image determines the
17350
ba79ba4e83ab Rewrite of imfinfo.
Carnë Draug <carandraug@octave.org>
parents: 17338
diff changeset
44 ## class of the output: @qcode{"uint8"}, @qcode{"uint16"} or @qcode{"single"}
ba79ba4e83ab Rewrite of imfinfo.
Carnë Draug <carandraug@octave.org>
parents: 17338
diff changeset
45 ## for gray and color, and @qcode{"logical"} for black and white.
16996
a1d091243d11 Read alpha values from indexed images. Always read indexes from indexed images.
Carnë Draug <carandraug@octave.org>
parents: 16984
diff changeset
46 ## Note that indexed images always return the indexes for a colormap,
a1d091243d11 Read alpha values from indexed images. Always read indexes from indexed images.
Carnë Draug <carandraug@octave.org>
parents: 16984
diff changeset
47 ## independent if @var{map} is a requested output. To obtain the actual
17350
ba79ba4e83ab Rewrite of imfinfo.
Carnë Draug <carandraug@octave.org>
parents: 17338
diff changeset
48 ## RGB image, use @code{ind2rgb}. When more than one indexed image is being
ba79ba4e83ab Rewrite of imfinfo.
Carnë Draug <carandraug@octave.org>
parents: 17338
diff changeset
49 ## read, @var{map} is obtained from the first. In some rare cases this
ba79ba4e83ab Rewrite of imfinfo.
Carnë Draug <carandraug@octave.org>
parents: 17338
diff changeset
50 ## may be incorrect and @code{imfinfo] can be used to obtain the colormap of
ba79ba4e83ab Rewrite of imfinfo.
Carnë Draug <carandraug@octave.org>
parents: 17338
diff changeset
51 ## each image.
ba79ba4e83ab Rewrite of imfinfo.
Carnë Draug <carandraug@octave.org>
parents: 17338
diff changeset
52 ##
16962
fb940d48c6f7 doc: document index argument for reading multipage images.
Carnë Draug <carandraug@octave.org>
parents: 16944
diff changeset
53 ## See the Octave manual for more information in representing images.
fb940d48c6f7 doc: document index argument for reading multipage images.
Carnë Draug <carandraug@octave.org>
parents: 16944
diff changeset
54 ##
fb940d48c6f7 doc: document index argument for reading multipage images.
Carnë Draug <carandraug@octave.org>
parents: 16944
diff changeset
55 ## Some file formats, such as TIFF and GIF, are able to store multiple
fb940d48c6f7 doc: document index argument for reading multipage images.
Carnë Draug <carandraug@octave.org>
parents: 16944
diff changeset
56 ## images in a single file. @var{idx} can be a scalar or vector
fb940d48c6f7 doc: document index argument for reading multipage images.
Carnë Draug <carandraug@octave.org>
parents: 16944
diff changeset
57 ## specifying the index of the images to read. By default, Octave
fb940d48c6f7 doc: document index argument for reading multipage images.
Carnë Draug <carandraug@octave.org>
parents: 16944
diff changeset
58 ## will only read the first page.
8148
213dd524f96b Improve documentation for image I/O.
sh@sh-laptop
parents: 7931
diff changeset
59 ##
16984
997efb8d0b19 imread: implement options Index, Frames, and Info.
Carnë Draug <carandraug@octave.org>
parents: 16967
diff changeset
60 ## Depending on the file format, it is possible to configure the reading
997efb8d0b19 imread: implement options Index, Frames, and Info.
Carnë Draug <carandraug@octave.org>
parents: 16967
diff changeset
61 ## of images with @var{param}, @var{val} pairs. The following options
997efb8d0b19 imread: implement options Index, Frames, and Info.
Carnë Draug <carandraug@octave.org>
parents: 16967
diff changeset
62 ## are supported:
997efb8d0b19 imread: implement options Index, Frames, and Info.
Carnë Draug <carandraug@octave.org>
parents: 16967
diff changeset
63 ##
16996
a1d091243d11 Read alpha values from indexed images. Always read indexes from indexed images.
Carnë Draug <carandraug@octave.org>
parents: 16984
diff changeset
64 ## @table @samp
17281
bc924baa2c4e doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents: 17171
diff changeset
65 ## @item @qcode{"Frames"} or @qcode{"Index"}
16984
997efb8d0b19 imread: implement options Index, Frames, and Info.
Carnë Draug <carandraug@octave.org>
parents: 16967
diff changeset
66 ## This is an alternative method to specify @var{idx}. When specifying it
17281
bc924baa2c4e doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents: 17171
diff changeset
67 ## in this way, its value can also be the string @qcode{"all"}.
16984
997efb8d0b19 imread: implement options Index, Frames, and Info.
Carnë Draug <carandraug@octave.org>
parents: 16967
diff changeset
68 ##
17281
bc924baa2c4e doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents: 17171
diff changeset
69 ## @item @qcode{"Info"}
17170
d6499c14021c doc: Periodic grammarcheck of documentation.
Rik <rik@octave.org>
parents: 17118
diff changeset
70 ## This option exists for @sc{matlab} compatibility and has no effect. For
16984
997efb8d0b19 imread: implement options Index, Frames, and Info.
Carnë Draug <carandraug@octave.org>
parents: 16967
diff changeset
71 ## maximum performance while reading multiple images from a single file,
997efb8d0b19 imread: implement options Index, Frames, and Info.
Carnë Draug <carandraug@octave.org>
parents: 16967
diff changeset
72 ## use the Index option.
17118
c97a26408ee0 Implement PixelRegion option for imread().
Carnë Draug <carandraug@octave.org>
parents: 17086
diff changeset
73 ##
17281
bc924baa2c4e doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents: 17171
diff changeset
74 ## @item @qcode{"PixelRegion"}
17118
c97a26408ee0 Implement PixelRegion option for imread().
Carnë Draug <carandraug@octave.org>
parents: 17086
diff changeset
75 ## Controls the image region that is read. Takes as value a cell array
c97a26408ee0 Implement PixelRegion option for imread().
Carnë Draug <carandraug@octave.org>
parents: 17086
diff changeset
76 ## with two arrays of 3 elements @code{@{@var{rows} @var{cols}@}}. The
c97a26408ee0 Implement PixelRegion option for imread().
Carnë Draug <carandraug@octave.org>
parents: 17086
diff changeset
77 ## elements in the array are the start, increment and end pixel to be
17171
c3bd7314643c doc: Periodic spellcheck of documentation.
Rik <rik@octave.org>
parents: 17170
diff changeset
78 ## read. If the increment value is omitted, defaults to 1.
16984
997efb8d0b19 imread: implement options Index, Frames, and Info.
Carnë Draug <carandraug@octave.org>
parents: 16967
diff changeset
79 ## @end table
997efb8d0b19 imread: implement options Index, Frames, and Info.
Carnë Draug <carandraug@octave.org>
parents: 16967
diff changeset
80 ##
16944
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
81 ## @seealso{imwrite, imfinfo, imformats}
7925
9316b59903c9 Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff changeset
82 ## @end deftypefn
9316b59903c9 Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff changeset
83
16984
997efb8d0b19 imread: implement options Index, Frames, and Info.
Carnë Draug <carandraug@octave.org>
parents: 16967
diff changeset
84 ## Author: Carnë Draug <carandraug@octave.org>
16944
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
85 ## Author: Thomas L. Scofield <scofield@calvin.edu>
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
86 ## Author: Kristian Rumberg <kristianrumberg@gmail.com>
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
87 ## Author: Thomas Weber <thomas.weber.mail@gmail.com>
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
88 ## Author: Stefan van der Walt <stefan@sun.ac.za>
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
89 ## Author: Andy Adler
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
90
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
91 function varargout = imread (varargin)
7925
9316b59903c9 Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff changeset
92 if (nargin < 1)
7931
de26beacb20f imread.m: simplify; loadimage.m: deprecate
John W. Eaton <jwe@octave.org>
parents: 7925
diff changeset
93 print_usage ();
16944
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
94 elseif (! ischar (varargin{1}))
11472
1740012184f9 Use uppercase for variable names in error() strings to match Info documentation. Only m-files done.
Rik <octave@nomad.inbox5.com>
parents: 10791
diff changeset
95 error ("imread: FILENAME must be a string");
7925
9316b59903c9 Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff changeset
96 endif
16944
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
97 ## In case the file format was specified as a separate argument we
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
98 ## do this. imageIO() will ignore the second part if filename on its
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
99 ## own is enough. And if the second argument was a parameter name instead
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
100 ## of an extension, it is still going to be passed to the next function
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
101 ## since we are passing the whole function input as well.
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
102 filename = {varargin{1}};
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
103 if (nargin > 1 && ischar (varargin {2}))
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
104 filename{2} = varargin{2};
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
105 endif
1b3b3ee88284 Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents: 16913
diff changeset
106
17086
3db796f89695 Rename private core_imfnc functions to follow the __fnc__ convention style.
Carnë Draug <carandraug@octave.org>
parents: 16996
diff changeset
107 [varargout{1:nargout}] = imageIO (@__imread__, "read", filename, varargin{:});
7925
9316b59903c9 Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff changeset
108 endfunction
9382
ab563d2adc10 image/imread.m Test added.
Alexander Mamonov <mamonov@gmail.com>
parents: 9268
diff changeset
109
17338
1c89599167a6 maint: End m-files with 1 blank line.
Rik <rik@octave.org>
parents: 17281
diff changeset
110
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
111 %!testif HAVE_MAGICK
9382
ab563d2adc10 image/imread.m Test added.
Alexander Mamonov <mamonov@gmail.com>
parents: 9268
diff changeset
112 %! vpng = [ ...
ab563d2adc10 image/imread.m Test added.
Alexander Mamonov <mamonov@gmail.com>
parents: 9268
diff changeset
113 %! 137, 80, 78, 71, 13, 10, 26, 10, 0, 0, ...
ab563d2adc10 image/imread.m Test added.
Alexander Mamonov <mamonov@gmail.com>
parents: 9268
diff changeset
114 %! 0, 13, 73, 72, 68, 82, 0, 0, 0, 3, ...
ab563d2adc10 image/imread.m Test added.
Alexander Mamonov <mamonov@gmail.com>
parents: 9268
diff changeset
115 %! 0, 0, 0, 3, 8, 2, 0, 0, 0, 217, ...
ab563d2adc10 image/imread.m Test added.
Alexander Mamonov <mamonov@gmail.com>
parents: 9268
diff changeset
116 %! 74, 34, 232, 0, 0, 0, 1, 115, 82, 71, ...
ab563d2adc10 image/imread.m Test added.
Alexander Mamonov <mamonov@gmail.com>
parents: 9268
diff changeset
117 %! 66, 0, 174, 206, 28, 233, 0, 0, 0, 4, ...
ab563d2adc10 image/imread.m Test added.
Alexander Mamonov <mamonov@gmail.com>
parents: 9268
diff changeset
118 %! 103, 65, 77, 65, 0, 0, 177, 143, 11, 252, ...
ab563d2adc10 image/imread.m Test added.
Alexander Mamonov <mamonov@gmail.com>
parents: 9268
diff changeset
119 %! 97, 5, 0, 0, 0, 32, 99, 72, 82, 77, ...
ab563d2adc10 image/imread.m Test added.
Alexander Mamonov <mamonov@gmail.com>
parents: 9268
diff changeset
120 %! 0, 0, 122, 38, 0, 0, 128, 132, 0, 0, ...
ab563d2adc10 image/imread.m Test added.
Alexander Mamonov <mamonov@gmail.com>
parents: 9268
diff changeset
121 %! 250, 0, 0, 0, 128, 232, 0, 0, 117, 48, ...
ab563d2adc10 image/imread.m Test added.
Alexander Mamonov <mamonov@gmail.com>
parents: 9268
diff changeset
122 %! 0, 0, 234, 96, 0, 0, 58, 152, 0, 0, ...
ab563d2adc10 image/imread.m Test added.
Alexander Mamonov <mamonov@gmail.com>
parents: 9268
diff changeset
123 %! 23, 112, 156, 186, 81, 60, 0, 0, 0, 25, ...
ab563d2adc10 image/imread.m Test added.
Alexander Mamonov <mamonov@gmail.com>
parents: 9268
diff changeset
124 %! 73, 68, 65, 84, 24, 87, 99, 96, 96, 96, ...
ab563d2adc10 image/imread.m Test added.
Alexander Mamonov <mamonov@gmail.com>
parents: 9268
diff changeset
125 %! 248, 255, 255, 63, 144, 4, 81, 111, 101, 84, ...
ab563d2adc10 image/imread.m Test added.
Alexander Mamonov <mamonov@gmail.com>
parents: 9268
diff changeset
126 %! 16, 28, 160, 16, 0, 197, 214, 13, 34, 74, ...
ab563d2adc10 image/imread.m Test added.
Alexander Mamonov <mamonov@gmail.com>
parents: 9268
diff changeset
127 %! 117, 213, 17, 0, 0, 0, 0, 73, 69, 78, ...
ab563d2adc10 image/imread.m Test added.
Alexander Mamonov <mamonov@gmail.com>
parents: 9268
diff changeset
128 %! 68, 174, 66, 96, 130];
16967
52c1b832d98e imread: make sure test file is removed if imread() errors.
Carnë Draug <carandraug@octave.org>
parents: 16962
diff changeset
129 %! filename = [tmpnam() ".png"];
52c1b832d98e imread: make sure test file is removed if imread() errors.
Carnë Draug <carandraug@octave.org>
parents: 16962
diff changeset
130 %! unwind_protect
52c1b832d98e imread: make sure test file is removed if imread() errors.
Carnë Draug <carandraug@octave.org>
parents: 16962
diff changeset
131 %! fid = fopen (filename, "wb");
52c1b832d98e imread: make sure test file is removed if imread() errors.
Carnë Draug <carandraug@octave.org>
parents: 16962
diff changeset
132 %! fwrite (fid, vpng);
52c1b832d98e imread: make sure test file is removed if imread() errors.
Carnë Draug <carandraug@octave.org>
parents: 16962
diff changeset
133 %! fclose (fid);
52c1b832d98e imread: make sure test file is removed if imread() errors.
Carnë Draug <carandraug@octave.org>
parents: 16962
diff changeset
134 %! A = imread (filename);
52c1b832d98e imread: make sure test file is removed if imread() errors.
Carnë Draug <carandraug@octave.org>
parents: 16962
diff changeset
135 %! unwind_protect_cleanup
52c1b832d98e imread: make sure test file is removed if imread() errors.
Carnë Draug <carandraug@octave.org>
parents: 16962
diff changeset
136 %! unlink (filename);
52c1b832d98e imread: make sure test file is removed if imread() errors.
Carnë Draug <carandraug@octave.org>
parents: 16962
diff changeset
137 %! end_unwind_protect
14363
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
138 %! assert (A(:,:,1), uint8 ([0, 255, 0; 255, 237, 255; 0, 255, 0]));
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
139 %! assert (A(:,:,2), uint8 ([0, 255, 0; 255, 28, 255; 0, 255, 0]));
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
140 %! assert (A(:,:,3), uint8 ([0, 255, 0; 255, 36, 255; 0, 255, 0]));
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
141