]> git.sesse.net Git - gifmaker/commitdiff
Initial commit.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Thu, 25 Jul 2013 19:56:39 +0000 (21:56 +0200)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Thu, 25 Jul 2013 19:56:39 +0000 (21:56 +0200)
find-pairwise-distance.cpp [new file with mode: 0644]
make-gif.sh [new file with mode: 0755]

diff --git a/find-pairwise-distance.cpp b/find-pairwise-distance.cpp
new file mode 100644 (file)
index 0000000..b6d01fa
--- /dev/null
@@ -0,0 +1,59 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <map>
+
+#define FROM 1
+#define TO 600
+#define WIDTH 640
+#define HEIGHT 360
+#define HEADER 15
+
+#define ROI_X_FROM 261
+#define ROI_X_TO (261+312)
+#define ROI_Y_FROM 42
+#define ROI_Y_TO (42+246)
+
+std::map<int, const char *> pix;
+
+int main(void)
+{
+       for (int i = FROM; i < TO; ++i) {
+               char filename[256];
+               sprintf(filename, "%08d.ppm", i);
+               FILE *fp = fopen(filename, "rb");
+               if (fp == NULL) {
+                       perror(filename);
+                       exit(1);
+               }
+
+               fprintf(stderr, "Reading %s...\n", filename);
+
+               char *ptr = new char[WIDTH * HEIGHT * 3];
+               fseek(fp, HEADER, SEEK_SET);
+
+               if (fread(ptr, WIDTH * HEIGHT * 3, 1, fp) != 1) {
+                       fprintf(stderr, "%s: Short read\n", filename);
+                       exit(1);
+               }
+
+               pix[i] = ptr;
+       }
+       
+       for (int i = FROM; i < TO; ++i) {
+               for (int j = FROM; j < TO; ++j) {
+                       const char *ptri = pix[i];
+                       const char *ptrj = pix[j];
+
+                       int sumdiff = 0;
+                       for (int y = ROI_Y_FROM; y < ROI_Y_TO; ++y) {
+                               for (int x = ROI_X_FROM; x < ROI_X_TO; ++x) {
+                                       for (int c = 0; c < 3; ++c) {
+                                               sumdiff += abs(ptri[(y * WIDTH + x) * 3 + c] - ptrj[(y * WIDTH + x) * 3 + c]);
+                                       }
+                               }
+                       }
+
+                       printf("%d %d %d\n", i, j, sumdiff);
+               }
+       }
+}
diff --git a/make-gif.sh b/make-gif.sh
new file mode 100755 (executable)
index 0000000..9130ae2
--- /dev/null
@@ -0,0 +1,5 @@
+FROM=`expr $1 + 1`
+TO=`expr $2 + 1`
+
+convert -layers OptimizePlus -delay 2 -loop 0 $( for I in $( seq $FROM $TO ); do printf "%08d.ppm\n" $I; done ) foo.gif
+