Module OCR

PDOC 3 demo

pdoc --html --output-dir build lib/OCR.py  --force
cp build/OCR.html /var/www/html/index.html

date: 29.05.2022 :+1: Learn Markdown


Expand source code
"""
## PDOC 3 demo

```bash
pdoc --html --output-dir build lib/OCR.py  --force
cp build/OCR.html /var/www/html/index.html
```
---
date: 29.05.2022 :+1:
[Learn Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet)
---
"""
import os
import time
import telegram
import logging
import random
import sys
import cv2
import pytesseract

from datetime import datetime, timezone
logging.basicConfig( level=logging.INFO, filename='/var/log/oee.log',format='%(asctime)s - %(message)s')

my_token="1260858483:AAFmQBXz1Fsg_JqESNmIv9OtcmozFQ7WUbg"
my_chat_id="-1001284842892"
bot = telegram.Bot(my_token)
chat_id=my_chat_id

sys.path.insert(0,'../')
from laserFeed import CaptureFrontCamera,Dreptunghi


def IsRunningOnMainScreen():
    """ Check if Status Running is on screen. Returns True/False depending if Running is on Status MDI"""
    print("Pornim captura laser")
    if not CaptureFrontCamera():
        exit(0)
    StatusProgramLocation = Dreptunghi(700, 736, 300, inaltime=50)
    original = cv2.imread('capture.jpg')
    W = 1400
    height, width, depth = original.shape
    imgScale = W / width
    newX, newY = original.shape[1] * imgScale, original.shape[0] * imgScale
    orig = cv2.resize(original, (int(newX), int(newY)))
    img = cv2.cvtColor(orig, cv2.COLOR_BGR2GRAY)
    height, width = img.shape
    size = img.size
    # print(DreptunghiAnaliza.PunctX)
    cropped = orig[StatusProgramLocation.PunctY:StatusProgramLocation.PunctY + StatusProgramLocation.inaltime,
              StatusProgramLocation.PunctX:StatusProgramLocation.PunctX + StatusProgramLocation.lungime]
    DenumireIdentificata = pytesseract.image_to_string(cropped, config='--psm 10 --oem 3')
    img_marcat = cv2.rectangle(img, (StatusProgramLocation.PunctX, StatusProgramLocation.PunctY), (
        StatusProgramLocation.PunctX + StatusProgramLocation.lungime,
        StatusProgramLocation.PunctY + StatusProgramLocation.inaltime),
                               (255, 255, 0), 4)
    singles = ["unn", "ing"]
    found_a_string = False
    for single in singles:
        if single in DenumireIdentificata:
            found_a_string = True
    if (not found_a_string):
        print("Not running")
    cv2.imwrite("/tmp/aici-snapshots_marcat3.jpg", img_marcat)
    bot.sendPhoto(chat_id=chat_id, caption=f"Laser Photo {DenumireIdentificata}",
                  photo=open('/tmp/aici-snapshots_marcat3.jpg', 'rb'))
    return found_a_string


if __name__ == '__main__':
    IsRunningOnMainScreen()

Functions

def IsRunningOnMainScreen()

Check if Status Running is on screen. Returns True/False depending if Running is on Status MDI

Expand source code
def IsRunningOnMainScreen():
    """ Check if Status Running is on screen. Returns True/False depending if Running is on Status MDI"""
    print("Pornim captura laser")
    if not CaptureFrontCamera():
        exit(0)
    StatusProgramLocation = Dreptunghi(700, 736, 300, inaltime=50)
    original = cv2.imread('capture.jpg')
    W = 1400
    height, width, depth = original.shape
    imgScale = W / width
    newX, newY = original.shape[1] * imgScale, original.shape[0] * imgScale
    orig = cv2.resize(original, (int(newX), int(newY)))
    img = cv2.cvtColor(orig, cv2.COLOR_BGR2GRAY)
    height, width = img.shape
    size = img.size
    # print(DreptunghiAnaliza.PunctX)
    cropped = orig[StatusProgramLocation.PunctY:StatusProgramLocation.PunctY + StatusProgramLocation.inaltime,
              StatusProgramLocation.PunctX:StatusProgramLocation.PunctX + StatusProgramLocation.lungime]
    DenumireIdentificata = pytesseract.image_to_string(cropped, config='--psm 10 --oem 3')
    img_marcat = cv2.rectangle(img, (StatusProgramLocation.PunctX, StatusProgramLocation.PunctY), (
        StatusProgramLocation.PunctX + StatusProgramLocation.lungime,
        StatusProgramLocation.PunctY + StatusProgramLocation.inaltime),
                               (255, 255, 0), 4)
    singles = ["unn", "ing"]
    found_a_string = False
    for single in singles:
        if single in DenumireIdentificata:
            found_a_string = True
    if (not found_a_string):
        print("Not running")
    cv2.imwrite("/tmp/aici-snapshots_marcat3.jpg", img_marcat)
    bot.sendPhoto(chat_id=chat_id, caption=f"Laser Photo {DenumireIdentificata}",
                  photo=open('/tmp/aici-snapshots_marcat3.jpg', 'rb'))
    return found_a_string