summaryrefslogtreecommitdiffstats
path: root/SD-VBS/common/toolbox/toolbox_basic/io/readppm.m
diff options
context:
space:
mode:
Diffstat (limited to 'SD-VBS/common/toolbox/toolbox_basic/io/readppm.m')
-rwxr-xr-xSD-VBS/common/toolbox/toolbox_basic/io/readppm.m23
1 files changed, 23 insertions, 0 deletions
diff --git a/SD-VBS/common/toolbox/toolbox_basic/io/readppm.m b/SD-VBS/common/toolbox/toolbox_basic/io/readppm.m
new file mode 100755
index 0000000..b9dd566
--- /dev/null
+++ b/SD-VBS/common/toolbox/toolbox_basic/io/readppm.m
@@ -0,0 +1,23 @@
1function [I,r, g, b] = readppm(name)
2
3 fid = fopen(name, 'r');
4 fscanf(fid, 'P6\n');
5 cmt = '#';
6 while findstr(cmt, '#'),
7 cmt = fgets(fid);
8 if length(findstr(cmt, '#')) ~= 1
9 YX = sscanf(cmt, '%d %d');
10 y = YX(1); x = YX(2);
11 end
12 end
13 fgets(fid);
14 packed = fread(fid,[3*y,x],'uint8')';
15 r = packed(:,1:3:3*y);
16 g = packed(:,2:3:3*y);
17 b = packed(:,3:3:3*y);
18 fclose(fid);
19
20 I(:,:,1) = r;
21 I(:,:,2) = g;
22 I(:,:,3) = b;
23 I = I/255;