A Screen Translator/OCR Translator made by using Python and Tesseract, the user interface are made using Tkinter. All code written in python.

Overview

About

An OCR translator tool. Made by me by utilizing Tesseract, compiled to .exe using pyinstaller. I made this program to learn more about python.

Inspired by Visual Novel Reader (VNR), Visual Novel OCR, and QTranslate

Requirements

For User

  • tesseract, You only need to install it and its language tessdata
  • Internet connection Obviously

For Dev

  • Python 3.5+, checked using vermin (I am using python 3.9.6)
  • Libraries from python: os, sys, functools, json, webbrowser, subprocess, datetime, Mbox, tkinter, pathlib, asyncio
  • External libraries: pyperclip, pytesseract, pyautogui, pillow, deepl_scraper_pp, deep_translator, keyboard

You can install them by running pip_install.bat or by installing them yourself, full details are located at requirements.txt.
*If i miss anything please let me know.

Tutorial on How To Install and Setup

For User

  1. Download the latest release of this program

  2. Install tesseract, make sure to select install all language pack when prompted

  3. Open the ScreenTranslate.exe

  4. Check settings, make sure tesseract location is correct

  5. Set monitor scaling to 100% so that image is captured accurately (If scaling is not set to 100% you will need to set offset in setting) (Recommended)

  6. Set offset if on multiple monitors. (Optional)

  7. Try capturing image and see if it works or not, if it doesn't, go check the image captured in img_cache folder. If it still doesn't work, try to change the offset.

  8. Now that you have set everything, the app should be ready. Feel free to submit new issue on the github repository if you encounter any bugs.

For Dev

  1. Clone the repo or download the source code of the latest release

  2. Install tesseract, make sure select install all language pack when prompted

  3. Install all the dependencies used for the project

  4. Run and test the source code

  5. If everything works, you can run the app normally running the ScreenTranslate.py file or using the TempRun.bat

if everything works and you have a suggestion or improvement, you can submit a pull request on the github repository. I will check if it's a good idea to add it.

How To Compile It To .exe Yourself

You can use p2exe or many other stuff. I use pyinstaller to compile it.
Command used are

# On Source Code Directory
pyinstaller ScreenTranslate.spec

Read this stackoverflow post to learn more on how to do it.

Tutorial on How To Use

  1. Select Language
  2. Translate or Capture Image using the capture window
  3. Set hotkeys and delays as needed
  4. Set offset if needed (Usually when scaling is not 100% or when using multiple monitors)
  5. Done

Disclaimer

This is a free open source software, you can use it for any purpose. However, I am not responsible for any damage caused by this software. Use it at your own risk. (Not that it will do anything to you, it's just a tool to help you translate text lol)

This is also non profit, I gain no money from creating this.

Comments
  • Thank you for creating the software. But can you help me to solve the following problems.

    Thank you for creating the software. But can you help me to solve the following problems.

    I tried translating the game tales of arise. doesn't seem to work well with large fonts. And often appear "Please enter some text". Does (Opacity) affect the effectiveness of text detection in the game? How should I adjust the Offset X , Y , W , H, for the software to work best image

    opened by nonamebatbai 25
  • Multiple improvements, view comment

    Multiple improvements, view comment

    • Add hotkey for capture and translate
      • Uses python module 'keyboard'
      • Example: Set hotkey to 'Enter' such that pressing enter can both advance the VN and capture
      • User is able to set the hotkey in settings by pressing button and press desired hotkey
    • Instead of reading Setting.json everytime the screen is captured, cached settings in memory is read to reduce read from hard drive
    • Auto copy resource and user_manual from source through .spec file; Removed redundant files from copy_after_compiling
    • Fix typo
    • Add files to .gitignore
    opened by laggykiller 8
  • Changing directory structure

    Changing directory structure

    • Change directory structure
    • Use os.path.join() instead of string joining for handling paths
    • Use variables of paths instead of joining path everytime it is used
    opened by laggykiller 4
  • i have an idea

    i have an idea

    hfg

    pretty good results. so my idea is you can create an extra window. and darken the surroundings. to see the text better and the "Text Capture Area" will work better and the "Text Capture Area" window must be overlaid on the new window to darken the surroundings to work properly. hfg12 I darkened the "Text Capture Area" and used "Capture Area Settings" to translate and got the exact same result as the picture above.

    opened by nonamebatbai 3
  •  Can you add more OCR engines to your software?

    Can you add more OCR engines to your software?

    Untitled This dialogue with black border translates very accuratel Untitled1 y or the dark scene, the translation is also very accurat Untitled 2 e but the light scene cannot be translated. Can you solve this problem? Why does the software not work when the scene is bright?

    opened by nonamebatbai 3
  • thank you very much

    thank you very much

    thank you very much . The software is considered complete. I'm so grateful for your hard work to create great software like this. And this is also the last version you updated?

    opened by nonamebatbai 0
Releases(V1.8.5)
Owner
Fauzan F A
An Informatics Engineering Student at UIN Syarif Hidayatullah Jakarta
Fauzan F A
Simple SDF mesh generation in Python

Generate 3D meshes based on SDFs (signed distance functions) with a dirt simple Python API.

Michael Fogleman 1.1k Jan 08, 2023
Document manipulation detection with python

image manipulation detection task: -- tianchi function image segmentation salie

JiaKui Hu 3 Aug 22, 2022
A curated list of promising OCR resources

Call for contributor(paper summary,dataset generation,algorithm implementation and any other useful resources) awesome-ocr A curated list of promising

wanghaisheng 1.6k Jan 04, 2023
An Implementation of the seglink alogrithm in paper Detecting Oriented Text in Natural Images by Linking Segments

Tips: A more recent scene text detection algorithm: PixelLink, has been implemented here: https://github.com/ZJULearning/pixel_link Contents: Introduc

dengdan 484 Dec 07, 2022
Basic functions manipulating images using the OpenCV library

OpenCV Basic functions manipulating images using the OpenCV library. Reading Ima

Shatha Siala 3 Feb 17, 2022
Extracting Tables from Document Images using a Multi-stage Pipeline for Table Detection and Table Structure Recognition:

Multi-Type-TD-TSR Check it out on Source Code of our Paper: Multi-Type-TD-TSR Extracting Tables from Document Images using a Multi-stage Pipeline for

Pascal Fischer 178 Dec 27, 2022
A simple QR-Code Reader in Python

A simple QR-Code Reader written in Python, that copies the content of a QR-Code directly into the copy clipboard.

Eric 1 Oct 28, 2021
A fastai/PyTorch package for unpaired image-to-image translation.

Unpaired image-to-image translation A fastai/PyTorch package for unpaired image-to-image translation currently with CycleGAN implementation. This is a

Tanishq Abraham 120 Dec 02, 2022
Fast image augmentation library and easy to use wrapper around other libraries. Documentation: https://albumentations.ai/docs/ Paper about library: https://www.mdpi.com/2078-2489/11/2/125

Albumentations Albumentations is a Python library for image augmentation. Image augmentation is used in deep learning and computer vision tasks to inc

11.4k Jan 02, 2023
This is a project to detect gestures to zoom in or out, using the real-time distance between the index finger and the thumb. It's based on OpenCV and Mediapipe.

Pinch-zoom This is a python project based on real-time hand-gesture detection, to zoom in or out, using the distance between the index finger and the

Harshit Bhalla 6 Jul 11, 2022
docstrum

Docstrum Algorithm Getting Started This repo is for developing a Docstrum algorithm presented by O’Gorman (1993). Disclaimer This source code is built

Chulwoo Mike Pack 54 Dec 13, 2022
Web interface for browsing arXiv papers

Currently, arxivbox considers only major computer vision and machine learning conferences

Ankan Kumar Bhunia 12 Sep 11, 2022
Text Detection from images using OpenCV

EAST Detector for Text Detection OpenCV’s EAST(Efficient and Accurate Scene Text Detection ) text detector is a deep learning model, based on a novel

Abhishek Singh 88 Oct 20, 2022
An unofficial package help developers to implement ZATCA (Fatoora) QR code easily which required for e-invoicing

ZATCA (Fatoora) QR-Code Implementation An unofficial package help developers to implement ZATCA (Fatoora) QR code easily which required for e-invoicin

TheAwiteb 28 Nov 03, 2022
([email protected]) Boosting Co-teaching with Compression Regularization for Label Noise

Nested-Co-teaching ([email protected]) Pytorch implementation of paper "Boosting Co-tea

YINGYI CHEN 41 Jan 03, 2023
Zoom , GoogleMeets에서 Vtuber 데뷔하기

EasyVtuber Facial landmark와 GAN을 이용한 Character Face Generation Google Meets, Zoom 등에서 자신만의 웹툰, 만화 캐릭터로 대화해보세요! 악세사리는 어느정도 추가해도 잘 작동해요! 안타깝게도 RTX 2070

Gunwoo Han 140 Dec 23, 2022
The world's simplest facial recognition api for Python and the command line

Face Recognition You can also read a translated version of this file in Chinese 简体中文版 or in Korean 한국어 or in Japanese 日本語. Recognize and manipulate fa

Adam Geitgey 47k Jan 07, 2023
WACV 2022 Paper - Is An Image Worth Five Sentences? A New Look into Semantics for Image-Text Matching

Is An Image Worth Five Sentences? A New Look into Semantics for Image-Text Matching Code based on our WACV 2022 Accepted Paper: https://arxiv.org/pdf/

Andres 13 Dec 17, 2022
Fusion 360 Add-in that creates a pair of toothed curves that can be used to split a body and create two pieces that slide and lock together.

Fusion-360-Add-In-PuzzleSpline Fusion 360 Add-in that creates a pair of toothed curves that can be used to split a body and create two pieces that sli

Michiel van Wessem 1 Nov 15, 2021
Crop regions in napari manually

napari-crop Crop regions in napari manually Usage Create a new shapes layer to annotate the region you would like to crop: Use the rectangle tool to a

Robert Haase 4 Sep 29, 2022