]> _ Git - 1000pourcent.git/commitdiff
wip #3207 @2 master
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 2 Jan 2020 16:16:12 +0000 (17:16 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 2 Jan 2020 16:16:12 +0000 (17:16 +0100)
js/1000pct.js
js/ocr.js

index a3830086b1a96fa38596c22ebd715ef9d8fddc57..c41fa21e52e4436b86f2454da7abcf05ab4e78b5 100644 (file)
@@ -6,8 +6,8 @@ function appReady() {
     if (navigator.mediaDevices) {
         navigator.mediaDevices.getUserMedia({
             video: {
-                width: {min: 1280},
-                height: {min: 1280},
+                width: {min: 1680},
+                height: {min: 1680},
                 facingMode: {exact: "environment"}
             }, audio: false
         }).then(function (stream) {
index 83541c1442f07bd25c6b549a8d9eae6520fd6b60..f745d2e9c8531ed393f09cdbe19eb34423d28d82 100644 (file)
--- a/js/ocr.js
+++ b/js/ocr.js
@@ -101,7 +101,7 @@ function extractRegion(src, region, color, area) {
     // Grayscale
     cv.cvtColor(res, res, cv.COLOR_RGBA2GRAY, 0);
 
-    var brightness = 2;
+    var brightness = 2.4;
     h2 = 30 * coef;
 
     // Brightness
@@ -118,7 +118,8 @@ function extractRegion(src, region, color, area) {
 function ocr(image, color, area) {
     (async () => {
         const res = await window.tesseract[area].addJob('recognize', image);
-        regions[color][area] = translate();
+        console.log(color, area);
+        regions[color][area] = translate(res);
         decodedRegions++;
         if (decodedRegions === 12) {
             document.getElementById('res').innerText = JSON.stringify(regions);
@@ -158,13 +159,34 @@ var map = {
 
 }
 
-function translate(t) {
+function translate(ocr) {
     var res = '';
-    for (let i = 0; i < t.length; i++) {
-        let m = map[t[i]];
+    console.log(ocr);
+    var maxconfidence = 0;
+    var minconfidence = 100;
+    var sumconfidence = 0;
+
+    for (let i = 0; i < ocr.data.symbols.length; i++) {
+        var c = ocr.data.symbols[i].confidence;
+        sumconfidence += c;
+        minconfidence = Math.min(minconfidence, c);
+        maxconfidence = Math.max(maxconfidence, c);
+    }
+    var avgconfidence = sumconfidence / ocr.data.symbols.length;
+
+    for (let i = 0; i < ocr.data.symbols.length; i++) {
+        var symbol = ocr.data.symbols[i];
+        var width = Math.abs(symbol.bbox.x1 - symbol.bbox.x0);
+        var height = Math.abs(symbol.bbox.y1 - symbol.bbox.y0);
+        //console.log(width, height, symbol.confidence);
+        if (symbol.confidence < 30 || width < 15 || height < 15) {
+            continue;
+        }
+        let m = map[symbol.text];
         if (m !== undefined) {
-            res += map[t[i]];
+            res += map[symbol.text];
         }
     }
+    console.log(res);
     return res;
 }
\ No newline at end of file