Mercurial > octave-nkf
comparison scripts/image/imwrite.m @ 18552:b83fca22bb4c
maint: Periodic merge of gui-release to default.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 07 Mar 2014 13:02:43 -0500 |
parents | 7b60d0d9f0f2 e0cc67d5a462 |
children | 19a140e93b1f |
comparison
equal
deleted
inserted
replaced
18541:2f5685c080e5 | 18552:b83fca22bb4c |
---|---|
112 fmt.write (varargin{:}); | 112 fmt.write (varargin{:}); |
113 endif | 113 endif |
114 | 114 |
115 endfunction | 115 endfunction |
116 | 116 |
117 | |
118 %% Test input validation | 117 %% Test input validation |
119 %!error imwrite () # Wrong # of args | 118 %!error imwrite () # Wrong # of args |
120 %!error imwrite (1) # Wrong # of args | 119 %!error imwrite (1) # Wrong # of args |
121 %!error imwrite ({"cell"}, "filename.jpg") # Wrong class for img | 120 %!error imwrite ({"cell"}, "filename.jpg") # Wrong class for img |
122 %!error imwrite (1, [], "filename.jpg") # Empty image map | 121 %!error imwrite (1, [], "filename.jpg") # Empty image map |
124 %!error imwrite (1, "filename") # No fmt specified | 123 %!error imwrite (1, "filename") # No fmt specified |
125 %!error imwrite (1, "filename", "junk") # Invalid fmt specified | 124 %!error imwrite (1, "filename", "junk") # Invalid fmt specified |
126 %!error imwrite ([], "filename.jpg") # Empty img matrix | 125 %!error imwrite ([], "filename.jpg") # Empty img matrix |
127 %!error imwrite (spones (2), "filename.jpg") # Invalid sparse img | 126 %!error imwrite (spones (2), "filename.jpg") # Invalid sparse img |
128 | 127 |
128 %!function [r, cmap, a] = write_and_read (varargin) | |
129 %! filename = [tmpnam() ".tif"]; | |
130 %! unwind_protect | |
131 %! imwrite (varargin{1}, filename, varargin{2:end}); | |
132 %! [r, cmap, a] = imread (filename, "Index", "all"); | |
133 %! unwind_protect_cleanup | |
134 %! unlink (filename); | |
135 %! end_unwind_protect | |
136 %!endfunction | |
137 | |
138 ## typical usage with grayscale uint8 images | |
129 %!testif HAVE_MAGICK | 139 %!testif HAVE_MAGICK |
130 %! imw = randi (255, 100, "uint8"); | 140 %! gray = randi (255, 10, 10, 1, "uint8"); |
131 %! filename = [tmpnam() ".png"]; | 141 %! r = write_and_read (gray); |
132 %! unwind_protect | 142 %! assert (r, gray) |
133 %! imwrite (imw, filename); | |
134 %! imr = imread (filename); | |
135 %! unwind_protect_cleanup | |
136 %! unlink (filename); | |
137 %! end_unwind_protect | |
138 %! assert (imw, imr) | |
139 | 143 |
144 ## grayscale uint8 images with alpha channel | |
145 %!testif HAVE_MAGICK | |
146 %! gray = randi (255, 10, 10, 1, "uint8"); | |
147 %! alpha = randi (255, 10, 10, 1, "uint8"); | |
148 %! [r, ~, a] = write_and_read (gray, "Alpha", alpha); | |
149 %! assert (r, gray) | |
150 %! assert (a, alpha) | |
151 | |
152 ## multipage grayscale uint8 images | |
153 %!testif HAVE_MAGICK | |
154 %! gray = randi (255, 10, 10, 1, 5, "uint8"); | |
155 %! r = write_and_read (gray); | |
156 %! assert (r, gray) | |
157 | |
158 ## multipage RGB uint8 images with alpha channel | |
159 %!testif HAVE_MAGICK | |
160 %! gray = randi (255, 10, 10, 3, 5, "uint8"); | |
161 %! alpha = randi (255, 10, 10, 1, 5, "uint8"); | |
162 %! [r, ~, a] = write_and_read (gray, "Alpha", alpha); | |
163 %! assert (r, gray) | |
164 %! assert (a, alpha) | |
165 | |
166 ## typical usage with RGB uint8 images | |
167 %!testif HAVE_MAGICK | |
168 %! rgb = randi (255, 10, 10, 3, "uint8"); | |
169 %! r = write_and_read (rgb); | |
170 %! assert (r, rgb) | |
171 | |
172 ## RGB uint8 images with alpha channel | |
173 %!testif HAVE_MAGICK | |
174 %! rgb = randi (255, 10, 10, 3, "uint8"); | |
175 %! alpha = randi (255, 10, 10, 1, "uint8"); | |
176 %! [r, ~, a] = write_and_read (rgb, "Alpha", alpha); | |
177 %! assert (r, rgb) | |
178 %! assert (a, alpha) | |
179 | |
180 ## multipage RGB uint8 images | |
181 %!testif HAVE_MAGICK | |
182 %! rgb = randi (255, 10, 10, 3, 5, "uint8"); | |
183 %! r = write_and_read (rgb); | |
184 %! assert (r, rgb) | |
185 | |
186 ## multipage RGB uint8 images with alpha channel | |
187 %!testif HAVE_MAGICK | |
188 %! rgb = randi (255, 10, 10, 3, 5, "uint8"); | |
189 %! alpha = randi (255, 10, 10, 1, 5, "uint8"); | |
190 %! [r, ~, a] = write_and_read (rgb, "Alpha", alpha); | |
191 %! assert (r, rgb) | |
192 %! assert (a, alpha) | |
193 |