browserified worker.js

master
Guillermo 9 years ago
parent 1636e1674e
commit 29d7e56d20
  1. 2
      example.htm
  2. 2
      lib/Tesseract.js
  3. 12
      worker_src/worker.js

@ -1,5 +1,5 @@
<canvas id="c"></canvas> <canvas id="c"></canvas>
<script type="text/javascript" src="./Tesseract.js"></script> <script type="text/javascript" src="./lib/Tesseract.js"></script>
<script type="text/javascript"> <script type="text/javascript">
var canvas = document.getElementById('c') var canvas = document.getElementById('c')
canvas.width = 400 canvas.width = 400

@ -34,7 +34,7 @@ Tesseract.recognize = function(image, options, callback){
} }
if(image.getImageData) image = image.getImageData(0, 0, image.canvas.width, image.canvas.height); if(image.getImageData) image = image.getImageData(0, 0, image.canvas.width, image.canvas.height);
var worker = new Worker('./worker.js') var worker = new Worker('https://cdn.rawgit.com/naptha/tesseract.js/master/lib/worker.js')
if(typeof callback === "function"){ if(typeof callback === "function"){
worker.onmessage = function(e){ worker.onmessage = function(e){

@ -72,6 +72,8 @@ var filesizes = {
"vie": 2195922 "vie": 2195922
} }
var pako = require('pako')
var recognize = (function createTesseractInstance(){ var recognize = (function createTesseractInstance(){
var Module = Tesseract304({ var Module = Tesseract304({
@ -83,9 +85,7 @@ var recognize = (function createTesseractInstance(){
var base = new Module.TessBaseAPI() var base = new Module.TessBaseAPI()
var loaded_langs = [] var loaded_langs = []
var loadLanguage = (function(){ var loadLanguage = function(lang, cb){ // NodeJS style callback
return (function loadLanguage(lang, cb){ // NodeJS style callback
if(loaded_langs.indexOf(lang) != -1){ if(loaded_langs.indexOf(lang) != -1){
cb(null, lang) cb(null, lang)
} }
@ -99,7 +99,7 @@ var recognize = (function createTesseractInstance(){
xhr.onload = function(){ xhr.onload = function(){
if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) {
console.log('unzipping language model...') console.log('unzipping language model...')
var data = new Uint8Array(unzip(new Uint8Array(xhr.response))) var data = new Uint8Array(pako.deflate(new Uint8Array(xhr.response)))
console.log(lang +".traineddata", 'sucessfully unzipped') console.log(lang +".traineddata", 'sucessfully unzipped')
Module.FS_createDataFile('tessdata', lang +".traineddata", data, true, false); Module.FS_createDataFile('tessdata', lang +".traineddata", data, true, false);
loaded_langs.push(lang) loaded_langs.push(lang)
@ -108,8 +108,7 @@ var recognize = (function createTesseractInstance(){
} }
xhr.send(null) xhr.send(null)
} }
}) }
})()
function DumpLiterallyEverything(){ function DumpLiterallyEverything(){
var ri = base.GetIterator(); var ri = base.GetIterator();
@ -289,6 +288,7 @@ var recognize = (function createTesseractInstance(){
var ptr = Module.allocate(image, 'i8', Module.ALLOC_NORMAL); var ptr = Module.allocate(image, 'i8', Module.ALLOC_NORMAL);
loadLanguage(lang, function(err, result){ loadLanguage(lang, function(err, result){
if(err){ if(err){
console.error("error loading", lang); console.error("error loading", lang);
cb(err, null) cb(err, null)

Loading…
Cancel
Save