-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprototype_tesseract.js
72 lines (64 loc) · 2.3 KB
/
prototype_tesseract.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import { createWorker } from 'tesseract.js';
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
context.font = "30px Arial";
context.strokeText("Hallo du", 50, 50);
const test = await navigator.xr.isSessionSupported()
alert(test)
// Put event listeners into place
window.addEventListener("DOMContentLoaded", function () {
// Grab elements, create settings, etc.
var canvas = document.getElementById("canvas"),
context = canvas.getContext("2d"),
video = document.getElementById("video"),
videoObj = { "video": {
facingMode: 'environment'
}},
errBack = function (error) {
console.log("Video capture error: ", error.code);
};
video.onload = () => {
console.log(video.videoWidth)
console.log(video.videoHeight)
canvas.width = video.videoWidth
canvas.height = video.videoHeight
}
// Put video listeners into place
if (navigator.getUserMedia) { // Standard
navigator.getUserMedia(videoObj, function (stream) {
video.srcObject = stream;
video.play();
}, errBack);
} else if (navigator.webkitGetUserMedia) { // WebKit-prefixed
navigator.webkitGetUserMedia(videoObj, function (stream) {
video.src = window.webkitURL.createObjectURL(stream);
video.play();
}, errBack);
}
else if (navigator.mozGetUserMedia) { // Firefox-prefixed
navigator.mozGetUserMedia(videoObj, function (stream) {
video.src = window.URL.createObjectURL(stream);
video.play();
}, errBack);
}
}, false);
document.getElementById("snap")
.addEventListener("click", function() {
window.requestAnimationFrame(() => read())
});
function read() {
canvas.width = video.videoWidth
canvas.height = video.videoHeight
context.drawImage(video, 0, 0, video.videoWidth, video.videoHeight);
(async () => {
const worker = await createWorker('deu');
const ret = await worker.recognize(canvas.toDataURL());
document.getElementById('output').innerHTML = ret.data.text
console.log(ret.data.text);
await worker.terminate();
if (ret.data.text.includes('Stadtrat')) {
alert('Stadtrat')
}
window.requestAnimationFrame(() => read())
})();
}