X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fkaka%2Fcakelight%2FConfiguration.java;h=2932c0156f4bad742625ded99885777249fb5cd9;hb=da7bef43fc02577bf25293b0cda7e7fca01f26ec;hp=35fde300dd0814266c9b8fdd210b9bc46332b479;hpb=e59e98fcf77a104e31dd97641b0ceea6d0a79e00;p=kaka%2Fcakelight.git diff --git a/src/kaka/cakelight/Configuration.java b/src/kaka/cakelight/Configuration.java index 35fde30..2932c01 100644 --- a/src/kaka/cakelight/Configuration.java +++ b/src/kaka/cakelight/Configuration.java @@ -1,5 +1,7 @@ package kaka.cakelight; +import org.opencv.imgproc.Imgproc; + import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; @@ -56,16 +58,38 @@ public class Configuration { } public class VideoConfiguration { - public String device; public int width; public int height; public int bpp; + public int format; + public CropConfiguration crop; private VideoConfiguration(Properties prop) { - device = get(prop, "video.device", "/dev/video0"); width = Integer.parseInt(get(prop, "video.width", "720")); height = Integer.parseInt(get(prop, "video.height", "576")); bpp = Integer.parseInt(get(prop, "video.bpp", "2")); + switch (get(prop, "video.format", "").toUpperCase()) { + case "YUYV": + format = Imgproc.COLOR_YUV2BGR_YUYV; + break; + case "YVYU": + format = Imgproc.COLOR_YUV2BGR_YVYU; + break; + default: + format = Imgproc.COLOR_YUV2BGR_UYVY; + } + crop = new CropConfiguration(prop); + } + + public class CropConfiguration { + public int left, right, top, bottom; + + private CropConfiguration(Properties prop) { + left = Integer.parseInt(get(prop, "video.crop.left", "0")); + right = Integer.parseInt(get(prop, "video.crop.right", "0")); + top = Integer.parseInt(get(prop, "video.crop.top", "0")); + bottom = Integer.parseInt(get(prop, "video.crop.bottom", "0")); + } } } @@ -77,5 +101,9 @@ public class Configuration { cols = Integer.parseInt(get(prop, "leds.cols")); rows = Integer.parseInt(get(prop, "leds.rows")); } + + public int getCount() { + return cols * 2 + rows * 2; + } } }