// Grayscale
cv.cvtColor(res, res, cv.COLOR_RGBA2GRAY, 0);
- var brightness = 2;
+ var brightness = 2.4;
h2 = 30 * coef;
// Brightness
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);
}
-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