Mercurial > octave-antonio
annotate scripts/image/imread.m @ 19833:9fc020886ae9
maint: Clean up m-files to follow Octave coding conventions.
Try to trim long lines to < 80 chars.
Use '##' for single line comments.
Use '(...)' around tests for if/elseif/switch/while.
Abut cell indexing operator '{' next to variable.
Abut array indexing operator '(' next to variable.
Use space between negation operator '!' and following expression.
Use two newlines between endfunction and start of %!test or %!demo code.
Remove unnecessary parens grouping between short-circuit operators.
Remove stray extra spaces (typos) between variables and assignment operators.
Remove stray extra spaces from ends of lines.
author | Rik <rik@octave.org> |
---|---|
date | Mon, 23 Feb 2015 14:54:39 -0800 |
parents | 4197fc428c7d |
children | 7503499a252b |
rev | line source |
---|---|
19697
4197fc428c7d
maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents:
19278
diff
changeset
|
1 ## Copyright (C) 2013-2015 Carnë Draug |
4197fc428c7d
maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents:
19278
diff
changeset
|
2 ## Copyright (C) 2008-2015 Thomas L. Scofield |
16768 | 3 ## Copyright (C) 2008 Kristian Rumberg |
4 ## Copyright (C) 2006 Thomas Weber | |
5 ## Copyright (C) 2005 Stefan van der Walt | |
8920 | 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{url}) |
18298
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
27 ## @deftypefnx {Function File} {[@dots{}] =} imread (@dots{}, @var{ext}) |
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 |
18298
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
34 ## a file with the extension @var{ext}. Finally, it will attempt to download |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
35 ## and read an image from @var{url}. |
16944
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 | 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 | 44 ## class of the output: @qcode{"uint8"}, @qcode{"uint16"} or @qcode{"single"} |
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 | 48 ## RGB image, use @code{ind2rgb}. When more than one indexed image is being |
49 ## read, @var{map} is obtained from the first. In some rare cases this | |
17354
040752d07240
* scripts/image/imread.m: Fix typo in documentation.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
17350
diff
changeset
|
50 ## may be incorrect and @code{imfinfo} can be used to obtain the colormap of |
17350 | 51 ## each image. |
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 | 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 |
18615
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
78 ## read. If the increment value is omitted, defaults to 1. For example, |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
79 ## the following are all equivalent: |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
80 ## |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
81 ## @example |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
82 ## @group |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
83 ## imread (filename, "PixelRegion", @{[200 600] [300 700]@}); |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
84 ## imread (filename, "PixelRegion", @{[200 1 600] [300 1 700]@}); |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
85 ## imread (filename)(200:600, 300:700); |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
86 ## @end group |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
87 ## @end example |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
88 ## |
16984
997efb8d0b19
imread: implement options Index, Frames, and Info.
Carnë Draug <carandraug@octave.org>
parents:
16967
diff
changeset
|
89 ## @end table |
997efb8d0b19
imread: implement options Index, Frames, and Info.
Carnë Draug <carandraug@octave.org>
parents:
16967
diff
changeset
|
90 ## |
16944
1b3b3ee88284
Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents:
16913
diff
changeset
|
91 ## @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
|
92 ## @end deftypefn |
9316b59903c9
Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff
changeset
|
93 |
16984
997efb8d0b19
imread: implement options Index, Frames, and Info.
Carnë Draug <carandraug@octave.org>
parents:
16967
diff
changeset
|
94 ## 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
|
95 ## 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
|
96 ## Author: Kristian Rumberg <kristianrumberg@gmail.com> |
1b3b3ee88284
Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents:
16913
diff
changeset
|
97 ## 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
|
98 ## 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
|
99 ## Author: Andy Adler |
1b3b3ee88284
Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents:
16913
diff
changeset
|
100 |
18298
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
101 function [img, varargout] = imread (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
|
102 if (nargin < 1) |
7931
de26beacb20f
imread.m: simplify; loadimage.m: deprecate
John W. Eaton <jwe@octave.org>
parents:
7925
diff
changeset
|
103 print_usage (); |
18298
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
104 elseif (! ischar (filename)) |
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
|
105 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
|
106 endif |
16944
1b3b3ee88284
Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents:
16913
diff
changeset
|
107 |
19833
9fc020886ae9
maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
108 [img, varargout{1:nargout-1}] = ... |
9fc020886ae9
maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
109 imageIO ("imread", @__imread__, "read", filename, varargin{:}); |
9fc020886ae9
maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
110 |
7925
9316b59903c9
Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff
changeset
|
111 endfunction |
9382
ab563d2adc10
image/imread.m Test added.
Alexander Mamonov <mamonov@gmail.com>
parents:
9268
diff
changeset
|
112 |
17338
1c89599167a6
maint: End m-files with 1 blank line.
Rik <rik@octave.org>
parents:
17281
diff
changeset
|
113 |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
114 %!testif HAVE_MAGICK |
9382
ab563d2adc10
image/imread.m Test added.
Alexander Mamonov <mamonov@gmail.com>
parents:
9268
diff
changeset
|
115 %! vpng = [ ... |
ab563d2adc10
image/imread.m Test added.
Alexander Mamonov <mamonov@gmail.com>
parents:
9268
diff
changeset
|
116 %! 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
|
117 %! 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
|
118 %! 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
|
119 %! 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
|
120 %! 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
|
121 %! 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
|
122 %! 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
|
123 %! 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
|
124 %! 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
|
125 %! 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
|
126 %! 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
|
127 %! 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
|
128 %! 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
|
129 %! 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
|
130 %! 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
|
131 %! 68, 174, 66, 96, 130]; |
19278
6ca096827123
Use tempname() rather than tmpnam() in core Octave.
Rik <rik@octave.org>
parents:
18615
diff
changeset
|
132 %! filename = [tempname() ".png"]; |
16967
52c1b832d98e
imread: make sure test file is removed if imread() errors.
Carnë Draug <carandraug@octave.org>
parents:
16962
diff
changeset
|
133 %! unwind_protect |
52c1b832d98e
imread: make sure test file is removed if imread() errors.
Carnë Draug <carandraug@octave.org>
parents:
16962
diff
changeset
|
134 %! fid = fopen (filename, "wb"); |
52c1b832d98e
imread: make sure test file is removed if imread() errors.
Carnë Draug <carandraug@octave.org>
parents:
16962
diff
changeset
|
135 %! fwrite (fid, vpng); |
52c1b832d98e
imread: make sure test file is removed if imread() errors.
Carnë Draug <carandraug@octave.org>
parents:
16962
diff
changeset
|
136 %! fclose (fid); |
52c1b832d98e
imread: make sure test file is removed if imread() errors.
Carnë Draug <carandraug@octave.org>
parents:
16962
diff
changeset
|
137 %! A = imread (filename); |
52c1b832d98e
imread: make sure test file is removed if imread() errors.
Carnë Draug <carandraug@octave.org>
parents:
16962
diff
changeset
|
138 %! unwind_protect_cleanup |
52c1b832d98e
imread: make sure test file is removed if imread() errors.
Carnë Draug <carandraug@octave.org>
parents:
16962
diff
changeset
|
139 %! unlink (filename); |
52c1b832d98e
imread: make sure test file is removed if imread() errors.
Carnë Draug <carandraug@octave.org>
parents:
16962
diff
changeset
|
140 %! end_unwind_protect |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
141 %! 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
|
142 %! 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
|
143 %! 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
|
144 |
18615
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
145 %!function [r, cmap, a] = write_and_read (w, varargin) |
19278
6ca096827123
Use tempname() rather than tmpnam() in core Octave.
Rik <rik@octave.org>
parents:
18615
diff
changeset
|
146 %! filename = [tempname() ".tif"]; |
18615
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
147 %! unwind_protect |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
148 %! imwrite (w, filename); |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
149 %! [r, cmap, a] = imread (filename, varargin{:}); |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
150 %! unwind_protect_cleanup |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
151 %! unlink (filename); |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
152 %! end_unwind_protect |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
153 %!endfunction |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
154 |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
155 ## test PixelRegion option |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
156 %!testif HAVE_MAGICK |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
157 %! w = randi (255, 100, 100, "uint8"); |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
158 %! [r, cmap, a] = write_and_read (w, "PixelRegion", {[50 70] [20 40]}); |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
159 %! assert (r, w(50:70, 20:40)) |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
160 %! [r, cmap, a] = write_and_read (w, "PixelRegion", {[50 2 70] [20 3 40]}); |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
161 %! assert (r, w(50:2:70, 20:3:40)) |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
162 |
18298
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
163 ## If a file does not exist, it's the job of imread to check the file |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
164 ## exists before sending it over to __imread__ or whatever function |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
165 ## is defined in imformats to handle that specific format. This is the |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
166 ## same in imfinfo. So in this test we replace one format in imformats |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
167 ## with something that will not give an error if the file is missing |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
168 ## and make sure we do get an error. |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
169 %!testif HAVE_MAGICK |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
170 %! fmt = fmt_ori = imformats ("jpg"); |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
171 %! fmt.read = @true; |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
172 %! error_thrown = false; |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
173 %! imformats ("update", "jpg", fmt); |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
174 %! unwind_protect |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
175 %! try |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
176 %! imread ("I sure hope this file does not exist.jpg"); |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
177 %! catch |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
178 %! error_thrown = true; |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
179 %! end_try_catch |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
180 %! unwind_protect_cleanup |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
181 %! imformats ("update", "jpg", fmt_ori); |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
182 %! end_unwind_protect |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
183 %! assert (error_thrown, true); |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
184 |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
185 ## make one of the formats read, return what it received as input to |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
186 ## confirm that the input parsing is working correcly |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
187 %!testif HAVE_MAGICK |
19278
6ca096827123
Use tempname() rather than tmpnam() in core Octave.
Rik <rik@octave.org>
parents:
18615
diff
changeset
|
188 %! fname = [tempname() ".jpg"]; |
18298
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
189 %! def_fmt = imformats (); |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
190 %! fid = fopen (fname, "w"); |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
191 %! unwind_protect |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
192 %! fmt = imformats ("jpg"); |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
193 %! fmt.read = @(varargin) varargin; |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
194 %! imformats ("update", "jpg", fmt); |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
195 %! assert (imread (fname), {fname}); |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
196 %! assert (imread (fname, "jpg"), {fname}); |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
197 %! assert (imread (fname(1:end-4), "jpg"), {fname}); |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
198 %! extra_inputs = {"some", 89, i, {6 7 8}}; |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
199 %! assert (imread (fname, extra_inputs{:}), {fname, extra_inputs{:}}); |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
200 %! assert (imread (fname, "jpg", extra_inputs{:}), {fname, extra_inputs{:}}); |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
201 %! assert (imread (fname(1:end-4), "jpg", extra_inputs{:}), {fname, extra_inputs{:}}); |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
202 %! unwind_protect_cleanup |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
203 %! fclose (fid); |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
204 %! unlink (fname); |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
205 %! imformats (def_fmt); |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
206 %! end_unwind_protect |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
207 |