Mercurial > hg > octave-lyh
comparison scripts/image/saveimage.m @ 3748:599fb10b454d
[project @ 2000-12-08 04:43:33 by jwe]
author | jwe |
---|---|
date | Fri, 08 Dec 2000 04:43:34 +0000 |
parents | 8cea69ad95ae |
children | 574711ce9070 |
comparison
equal
deleted
inserted
replaced
3747:50f30e40abca | 3748:599fb10b454d |
---|---|
131 idx = find (map < 0); | 131 idx = find (map < 0); |
132 map (idx) = zeros (size (idx)); | 132 map (idx) = zeros (size (idx)); |
133 | 133 |
134 map = round (255 * map); | 134 map = round (255 * map); |
135 | 135 |
136 bw = (map_nr == 2 | |
137 && ((map(1,1) == 0 && map(2,1) == 255) | |
138 || (map(1,1) == 255 && map(2,1) == 0))); | |
139 | |
140 img = round (img'); | 136 img = round (img'); |
141 [img_nr, img_nc] = size (img); | 137 [img_nr, img_nc] = size (img); |
142 | 138 |
143 img_sz = img_nr * img_nc; | 139 img_sz = img_nr * img_nc; |
144 img = reshape (img, img_sz, 1); | 140 img = reshape (img, img_sz, 1); |
158 time_string = ctime (time ()); | 154 time_string = ctime (time ()); |
159 time_string = time_string (1:length (time_string)-1); | 155 time_string = time_string (1:length (time_string)-1); |
160 tagline = sprintf ("# Created by Octave %s, %s", | 156 tagline = sprintf ("# Created by Octave %s, %s", |
161 __OCTAVE_VERSION__, time_string); | 157 __OCTAVE_VERSION__, time_string); |
162 | 158 |
163 if (grey && map_nr == 2 && bw) | 159 if (grey) |
164 | |
165 if (map(1) != 0) | |
166 map = [0; 1]; | |
167 else | |
168 map = [1; 0]; | |
169 endif | |
170 | |
171 n_long = rem (img_nc, 8); | |
172 tmp = zeros (ceil (img_nc/8), img_nr); | |
173 | |
174 for i = 1:img_nr | |
175 idx = (i-1)*img_nc+1:i*img_nc; | |
176 if (n_long > 0) | |
177 img_row = [map(img(idx)); (zeros (8-n_long, 1))]; | |
178 else | |
179 img_row = map(img(idx)); | |
180 endif | |
181 l_img_row = length (img_row); | |
182 if (img_nc < 8) | |
183 for j = 1:8 | |
184 tmp(:,i) = tmp(:,i) + img_row (j) * 2^(8-j); | |
185 endfor | |
186 else | |
187 for j = 1:8 | |
188 tmp(:,i) = tmp(:,i) + img_row (j:8:l_img_row) * 2^(8-j); | |
189 endfor | |
190 endif | |
191 endfor | |
192 | |
193 fid = fopen (filename, "w"); | |
194 fprintf (fid, "P4\n%s\n%d %d\n", tagline, img_nr, img_nc); | |
195 fwrite (fid, tmp, "char"); | |
196 fprintf (fid, "\n"); | |
197 fclose (fid); | |
198 | |
199 elseif (grey) | |
200 | 160 |
201 fid = fopen (filename, "w"); | 161 fid = fopen (filename, "w"); |
202 fprintf (fid, "P5\n%s\n%d %d\n255\n", tagline, img_nr, img_nc); | 162 fprintf (fid, "P5\n%s\n%d %d\n255\n", tagline, img_nr, img_nc); |
203 fwrite (fid, map(img), "uchar"); | 163 fwrite (fid, map(img), "uchar"); |
204 fprintf (fid, "\n"); | 164 fprintf (fid, "\n"); |