Mercurial > octave
annotate scripts/image/imread.m @ 30564:796f54d4ddbf stable
update Octave Project Developers copyright for the new year
In files that have the "Octave Project Developers" copyright notice,
update for 2021.
In all .txi and .texi files except gpl.txi and gpl.texi in the
doc/liboctave and doc/interpreter directories, change the copyright
to "Octave Project Developers", the same as used for other source
files. Update copyright notices for 2022 (not done since 2019). For
gpl.txi and gpl.texi, change the copyright notice to be "Free Software
Foundation, Inc." and leave the date at 2007 only because this file
only contains the text of the GPL, not anything created by the Octave
Project Developers.
Add Paul Thomas to contributors.in.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 28 Dec 2021 18:22:40 -0500 |
parents | 01de0045b2e3 |
children | 597f3ee61a48 |
rev | line source |
---|---|
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
1 ######################################################################## |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
2 ## |
30564
796f54d4ddbf
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
30330
diff
changeset
|
3 ## Copyright (C) 2002-2022 The Octave Project Developers |
27918
b442ec6dda5c
use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents:
26376
diff
changeset
|
4 ## |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
5 ## See the file COPYRIGHT.md in the top-level directory of this |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
6 ## distribution or <https://octave.org/copyright/>. |
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 ## |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
10 ## Octave is free software: you can redistribute it and/or modify it |
7925
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 |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
12 ## the Free Software Foundation, either version 3 of the License, or |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22558
diff
changeset
|
13 ## (at your option) any later version. |
7925
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 |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22558
diff
changeset
|
17 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22558
diff
changeset
|
18 ## GNU General Public License for more details. |
7925
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 |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
22 ## <https://www.gnu.org/licenses/>. |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
23 ## |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
24 ######################################################################## |
7925
9316b59903c9
Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff
changeset
|
25 |
9316b59903c9
Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff
changeset
|
26 ## -*- texinfo -*- |
20852
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20338
diff
changeset
|
27 ## @deftypefn {} {[@var{img}, @var{map}, @var{alpha}] =} imread (@var{filename}) |
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20338
diff
changeset
|
28 ## @deftypefnx {} {[@dots{}] =} imread (@var{url}) |
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20338
diff
changeset
|
29 ## @deftypefnx {} {[@dots{}] =} imread (@dots{}, @var{ext}) |
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20338
diff
changeset
|
30 ## @deftypefnx {} {[@dots{}] =} imread (@dots{}, @var{idx}) |
21742
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
31 ## @deftypefnx {} {[@dots{}] =} imread (@dots{}, @var{param1}, @var{value1}, @dots{}) |
7925
9316b59903c9
Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff
changeset
|
32 ## 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
|
33 ## |
21742
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
34 ## Read an image as a matrix from the file @var{filename} or from the online |
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
35 ## resource @var{url}. If neither is given, but @var{ext} was specified, look |
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
36 ## for a file with the extension @var{ext}. |
16944
1b3b3ee88284
Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents:
16913
diff
changeset
|
37 ## |
20158
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19833
diff
changeset
|
38 ## The size and class of the output depends on the format of the image. A |
21742
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
39 ## color image is returned as an @nospell{MxNx3} matrix. Grayscale and |
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
40 ## black-and-white images are of size @nospell{MxN}@. Multipage images will |
20158
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19833
diff
changeset
|
41 ## have an additional 4th dimension. |
17350 | 42 ## |
20158
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19833
diff
changeset
|
43 ## The bit depth of the image determines the class of the output: |
21742
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
44 ## @qcode{"uint8"}, @qcode{"uint16"}, or @qcode{"single"} for grayscale and |
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
45 ## color, and @qcode{"logical"} for black-and-white. Note that indexed images |
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
46 ## always return the indexes for a colormap, independent of whether @var{map} |
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
47 ## is a requested output. To obtain the actual RGB image, use @code{ind2rgb}. |
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
48 ## When more than one indexed image is being read, @var{map} is obtained from |
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
49 ## the first. In some rare cases this may be incorrect and @code{imfinfo} can |
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
50 ## be used to obtain the colormap of each image. |
17350 | 51 ## |
16962
fb940d48c6f7
doc: document index argument for reading multipage images.
Carnë Draug <carandraug@octave.org>
parents:
16944
diff
changeset
|
52 ## See the Octave manual for more information in representing images. |
28733
9342688e86b4
Updated property references for text and graphics functions (bug #50247)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
27985
diff
changeset
|
53 ## (@pxref{Representing Images}) |
16962
fb940d48c6f7
doc: document index argument for reading multipage images.
Carnë Draug <carandraug@octave.org>
parents:
16944
diff
changeset
|
54 ## |
20158
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19833
diff
changeset
|
55 ## Some file formats, such as TIFF and GIF, are able to store multiple images |
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19833
diff
changeset
|
56 ## in a single file. @var{idx} can be a scalar or vector specifying the |
21742
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
57 ## index of the images to read. By default, Octave will read only the first |
20158
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19833
diff
changeset
|
58 ## page. |
8148 | 59 ## |
20158
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19833
diff
changeset
|
60 ## Depending on the file format, it is possible to configure the reading of |
21742
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
61 ## images with @var{parameter}, @var{value} pairs. The following options are |
20158
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19833
diff
changeset
|
62 ## supported: |
16984
997efb8d0b19
imread: implement options Index, Frames, and Info.
Carnë Draug <carandraug@octave.org>
parents:
16967
diff
changeset
|
63 ## |
21742
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
64 ## @table @asis |
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"} |
21742
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
70 ## This option exists for @sc{matlab} compatibility, but has no effect. For |
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
71 ## maximum performance when reading multiple images from a single file, use |
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
72 ## the @qcode{"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"} |
21742
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
75 ## Controls the image region that is read. The value must be a cell array with |
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
76 ## two arrays of 3 elements @code{@{[@var{rows}], [@var{cols}]@}}. The |
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
77 ## elements in the array are the start, increment, and end pixel to be read. |
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
78 ## If the increment value is omitted it defaults to 1. For example, the |
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
79 ## following are all equivalent: |
18615
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 |
21742
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
83 ## imread (filename, "PixelRegion", @{[200 600], [300 700]@}); |
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
84 ## imread (filename, "PixelRegion", @{[200 1 600], [300 1 700]@}); |
18615
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 |
18298
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
94 function [img, varargout] = imread (filename, varargin) |
21742
c86cacc3aaf4
imread: Clean up function and its private implementation.
Rik <rik@octave.org>
parents:
21580
diff
changeset
|
95 |
7925
9316b59903c9
Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff
changeset
|
96 if (nargin < 1) |
7931
de26beacb20f
imread.m: simplify; loadimage.m: deprecate
John W. Eaton <jwe@octave.org>
parents:
7925
diff
changeset
|
97 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
|
98 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
|
99 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
|
100 endif |
16944
1b3b3ee88284
Add optional extension argument to image IO functions.
Carnë Draug <carandraug@octave.org>
parents:
16913
diff
changeset
|
101 |
19833
9fc020886ae9
maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
102 [img, varargout{1:nargout-1}] = ... |
9fc020886ae9
maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
103 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
|
104 |
7925
9316b59903c9
Add original imread() files (from octave-forge) to core octave.
Thomas L. Scofield <scofield AT calvin DOT edu>
parents:
diff
changeset
|
105 endfunction |
9382
ab563d2adc10
image/imread.m Test added.
Alexander Mamonov <mamonov@gmail.com>
parents:
9268
diff
changeset
|
106 |
20991
3ec8332e0e01
maint: Use two newlines between endfunction and start of BIST tests.
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
107 |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
108 %!testif HAVE_MAGICK |
9382
ab563d2adc10
image/imread.m Test added.
Alexander Mamonov <mamonov@gmail.com>
parents:
9268
diff
changeset
|
109 %! vpng = [ ... |
ab563d2adc10
image/imread.m Test added.
Alexander Mamonov <mamonov@gmail.com>
parents:
9268
diff
changeset
|
110 %! 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
|
111 %! 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
|
112 %! 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
|
113 %! 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
|
114 %! 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
|
115 %! 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
|
116 %! 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
|
117 %! 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
|
118 %! 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
|
119 %! 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
|
120 %! 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
|
121 %! 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
|
122 %! 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
|
123 %! 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
|
124 %! 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
|
125 %! 68, 174, 66, 96, 130]; |
19278
6ca096827123
Use tempname() rather than tmpnam() in core Octave.
Rik <rik@octave.org>
parents:
18615
diff
changeset
|
126 %! filename = [tempname() ".png"]; |
16967
52c1b832d98e
imread: make sure test file is removed if imread() errors.
Carnë Draug <carandraug@octave.org>
parents:
16962
diff
changeset
|
127 %! unwind_protect |
52c1b832d98e
imread: make sure test file is removed if imread() errors.
Carnë Draug <carandraug@octave.org>
parents:
16962
diff
changeset
|
128 %! fid = fopen (filename, "wb"); |
52c1b832d98e
imread: make sure test file is removed if imread() errors.
Carnë Draug <carandraug@octave.org>
parents:
16962
diff
changeset
|
129 %! fwrite (fid, vpng); |
52c1b832d98e
imread: make sure test file is removed if imread() errors.
Carnë Draug <carandraug@octave.org>
parents:
16962
diff
changeset
|
130 %! fclose (fid); |
52c1b832d98e
imread: make sure test file is removed if imread() errors.
Carnë Draug <carandraug@octave.org>
parents:
16962
diff
changeset
|
131 %! A = imread (filename); |
52c1b832d98e
imread: make sure test file is removed if imread() errors.
Carnë Draug <carandraug@octave.org>
parents:
16962
diff
changeset
|
132 %! unwind_protect_cleanup |
52c1b832d98e
imread: make sure test file is removed if imread() errors.
Carnë Draug <carandraug@octave.org>
parents:
16962
diff
changeset
|
133 %! unlink (filename); |
52c1b832d98e
imread: make sure test file is removed if imread() errors.
Carnë Draug <carandraug@octave.org>
parents:
16962
diff
changeset
|
134 %! end_unwind_protect |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
135 %! 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
|
136 %! 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
|
137 %! 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
|
138 |
20338
a7770c66cb3d
Saturated red channel on RGB image, makes imread() return logical (bug #41584)
Carnë Draug <carandraug@octave.org>
parents:
20158
diff
changeset
|
139 %!function [r, cmap, a] = write_and_read (w, f_ext, varargin) |
a7770c66cb3d
Saturated red channel on RGB image, makes imread() return logical (bug #41584)
Carnë Draug <carandraug@octave.org>
parents:
20158
diff
changeset
|
140 %! filename = [tempname() "." f_ext]; |
18615
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
141 %! unwind_protect |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
142 %! imwrite (w, filename); |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
143 %! [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
|
144 %! unwind_protect_cleanup |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
145 %! unlink (filename); |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
146 %! end_unwind_protect |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
147 %!endfunction |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
148 |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
149 ## test PixelRegion option |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
150 %!testif HAVE_MAGICK |
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
151 %! w = randi (255, 100, 100, "uint8"); |
20338
a7770c66cb3d
Saturated red channel on RGB image, makes imread() return logical (bug #41584)
Carnë Draug <carandraug@octave.org>
parents:
20158
diff
changeset
|
152 %! [r, cmap, a] = write_and_read (w, "tif", "PixelRegion", {[50 70] [20 40]}); |
21580
ecce63c99c3f
maint: Add semicolons to terminate code in %! blocks.
Rik <rik@octave.org>
parents:
20991
diff
changeset
|
153 %! assert (r, w(50:70, 20:40)); |
20338
a7770c66cb3d
Saturated red channel on RGB image, makes imread() return logical (bug #41584)
Carnë Draug <carandraug@octave.org>
parents:
20158
diff
changeset
|
154 %! [r, cmap, a] = write_and_read (w, "tif", "PixelRegion", {[50 2 70] [20 3 40]}); |
21580
ecce63c99c3f
maint: Add semicolons to terminate code in %! blocks.
Rik <rik@octave.org>
parents:
20991
diff
changeset
|
155 %! assert (r, w(50:2:70, 20:3:40)); |
18615
1b6f5917ae4b
imread.m: expand documentation and add tests for the PixelRegion option.
Carnë Draug <carandraug@octave.org>
parents:
18298
diff
changeset
|
156 |
18298
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
157 ## 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
|
158 ## 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
|
159 ## 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
|
160 ## 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
|
161 ## 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
|
162 ## 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
|
163 %!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
|
164 %! 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
|
165 %! 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
|
166 %! 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
|
167 %! 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
|
168 %! 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
|
169 %! try |
22558
1751d490dc2f
test: Change tests w/imread to use names without spaces (bug #49219).
Rik <rik@octave.org>
parents:
22489
diff
changeset
|
170 %! imread ("I_sure_hope_this_file_does_not_exist.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
|
171 %! catch |
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 = true; |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
173 %! 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
|
174 %! 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
|
175 %! 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
|
176 %! 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
|
177 %! 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
|
178 |
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
179 ## make one of the formats read, return what it received as input to |
27956
2310164737b3
fix many spelling errors (bug #57613)
John W. Eaton <jwe@octave.org>
parents:
26376
diff
changeset
|
180 ## confirm that the input parsing is working correctly |
18298
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
181 %!testif HAVE_MAGICK |
19278
6ca096827123
Use tempname() rather than tmpnam() in core Octave.
Rik <rik@octave.org>
parents:
18615
diff
changeset
|
182 %! 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
|
183 %! 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
|
184 %! 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
|
185 %! 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
|
186 %! 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
|
187 %! 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
|
188 %! 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
|
189 %! 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
|
190 %! 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
|
191 %! 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
|
192 %! 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
|
193 %! 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
|
194 %! assert (imread (fname, "jpg", extra_inputs{:}), {fname, extra_inputs{:}}); |
30330
01de0045b2e3
maint: Shorten some long lines to <= 80 characters (bug #57599)
Rik <rik@octave.org>
parents:
29358
diff
changeset
|
195 %! assert (imread (fname(1:end-4), "jpg", extra_inputs{:}), |
01de0045b2e3
maint: Shorten some long lines to <= 80 characters (bug #57599)
Rik <rik@octave.org>
parents:
29358
diff
changeset
|
196 %! {fname, extra_inputs{:}}); |
18298
15db54c4a572
Fix input parsing for imageIO functions and make imread accept URL (bug #41234)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
197 %! 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
|
198 %! 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
|
199 %! 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
|
200 %! 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
|
201 %! 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
|
202 |
20338
a7770c66cb3d
Saturated red channel on RGB image, makes imread() return logical (bug #41584)
Carnë Draug <carandraug@octave.org>
parents:
20158
diff
changeset
|
203 ## Test for bug #41584 (some GM coders report saturated channels as binary) |
22489
93ea313301f9
test: Add bug ids (<#####>) to BIST tests.
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
204 %!testif HAVE_MAGICK <41584> |
20338
a7770c66cb3d
Saturated red channel on RGB image, makes imread() return logical (bug #41584)
Carnë Draug <carandraug@octave.org>
parents:
20158
diff
changeset
|
205 %! im = zeros ([16 16 3], "uint8"); |
a7770c66cb3d
Saturated red channel on RGB image, makes imread() return logical (bug #41584)
Carnë Draug <carandraug@octave.org>
parents:
20158
diff
changeset
|
206 %! im(:,:,1) = 255; |
a7770c66cb3d
Saturated red channel on RGB image, makes imread() return logical (bug #41584)
Carnë Draug <carandraug@octave.org>
parents:
20158
diff
changeset
|
207 %! im(:,:,3) = repmat (0:16:255, [16 1]); |
a7770c66cb3d
Saturated red channel on RGB image, makes imread() return logical (bug #41584)
Carnë Draug <carandraug@octave.org>
parents:
20158
diff
changeset
|
208 %! [r, cmap, a] = write_and_read (im, "png"); |
a7770c66cb3d
Saturated red channel on RGB image, makes imread() return logical (bug #41584)
Carnë Draug <carandraug@octave.org>
parents:
20158
diff
changeset
|
209 %! assert (class (r), "uint8"); |
21580
ecce63c99c3f
maint: Add semicolons to terminate code in %! blocks.
Rik <rik@octave.org>
parents:
20991
diff
changeset
|
210 %! assert (isempty (cmap)); |
ecce63c99c3f
maint: Add semicolons to terminate code in %! blocks.
Rik <rik@octave.org>
parents:
20991
diff
changeset
|
211 %! assert (isempty (a)); |