Added configuration for pixel format and adapted config for new video grabber
[kaka/cakelight.git] / src / kaka / cakelight / Frame.java
index 07a6ffd..192f013 100644 (file)
@@ -34,6 +34,7 @@ public class Frame {
         3) Resize to 2 images where each led uses 2 pixels:
             vertical   - 16 x <#leds>
             horizontal - <#leds> x 9
+        4) Resize to cols x rows first, then resize to a vertical and a horizontal like in (3).
          */
         Mat src = new Mat(config.video.height, config.video.width, CvType.CV_8UC2); // 8-bit, unsigned, 2 channels
         src.put(0, 0, data);
@@ -53,7 +54,7 @@ public class Frame {
                 config.video.width - config.video.crop.right
         );
         converted = new Mat();
-        Imgproc.cvtColor(cropped, converted, Imgproc.COLOR_YUV2RGB_YUYV);
+        Imgproc.cvtColor(cropped, converted, config.video.format);
 //        timeIt("model 1", () -> model1(converted, Imgproc.INTER_AREA));
 //        timeIt("model 2", () -> model2(converted, Imgproc.INTER_AREA));
         timeIt("model 3", () -> model3(converted, Imgproc.INTER_AREA));
@@ -81,6 +82,7 @@ public class Frame {
     }
 
     public Color getLedColor(ListPosition listPosition, int xy) {
+        // TODO: maybe use highest value from pixels? 100 % from 1st, 66 % from 2nd, 33 % from 3rd. colors might be strange.
         switch (listPosition) {
             case LEFT:
                 return interpolatedRowColor(xy, 0, 1, 2);