added keras support
This commit is contained in:
@@ -175,6 +175,10 @@ class OCRController extends ApiController
|
||||
$data['ocr']['pixelate'] = $result;
|
||||
imagedestroy($imgcreate);
|
||||
|
||||
// keras
|
||||
$cmd = "python3 scripts/keras.py " . base64_encode(file_get_contents($tmpfname));
|
||||
$command = escapeshellcmd($cmd); #no special characters it will work
|
||||
$data['ocr']['keras'] = shell_exec($command);
|
||||
|
||||
unlink($tmpfname);
|
||||
return $this->respondJson($data);
|
||||
@@ -203,28 +207,4 @@ class OCRController extends ApiController
|
||||
|
||||
// // Do something with the text from Tesseract
|
||||
// echo $text;
|
||||
|
||||
|
||||
// function is_ani($filename) {
|
||||
// if(!($fh = @fopen($filename, 'rb')))
|
||||
// return false;
|
||||
// $count = 0;
|
||||
// //an animated gif contains multiple "frames", with each frame having a
|
||||
// //header made up of:
|
||||
// // * a static 4-byte sequence (\x00\x21\xF9\x04)
|
||||
// // * 4 variable bytes
|
||||
// // * a static 2-byte sequence (\x00\x2C) (some variants may use \x00\x21 ?)
|
||||
|
||||
// // We read through the file til we reach the end of the file, or we've found
|
||||
// // at least 2 frame headers
|
||||
// $chunk = false;
|
||||
// while(!feof($fh) && $count < 2) {
|
||||
// //add the last 20 characters from the previous string, to make sure the searched pattern is not split.
|
||||
// $chunk = ($chunk ? substr($chunk, -20) : "") . fread($fh, 1024 * 100); //read 100kb at a time
|
||||
// $count += preg_match_all('#\x00\x21\xF9\x04.{4}\x00(\x2C|\x21)#s', $chunk, $matches);
|
||||
// }
|
||||
|
||||
// fclose($fh);
|
||||
// return $count > 1;
|
||||
// }
|
||||
}
|
||||
|
||||
17
scripts/keras.py
Normal file
17
scripts/keras.py
Normal file
@@ -0,0 +1,17 @@
|
||||
import io
|
||||
import sys
|
||||
import base64
|
||||
import numpy as np
|
||||
import keras_ocr
|
||||
|
||||
if len(sys.argv) > 1:
|
||||
# Decode the base64-encoded image
|
||||
img = base64.b64decode(sys.argv[1])
|
||||
img = np.array(bytearray(img), dtype=np.uint8)
|
||||
|
||||
# Use Keras-OCR to recognize text in the image
|
||||
pipeline = keras_ocr.pipeline.Pipeline()
|
||||
prediction = pipeline.recognize([img])
|
||||
|
||||
# Return the recognized text
|
||||
print prediction[0][0]['text']
|
||||
Reference in New Issue
Block a user