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
Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices)

English | 简体中文 Introduction PaddleOCR aims to create multilingual, awesome, leading, and practical OCR tools that help users train better models and a

27.5k Jan 08, 2023
A tool to make dumpy among us GIFS

Among Us Dumpy Gif Maker Made by ThatOneCalculator & Pixer415 With help from Telk, karl-police, and auguwu! Please credit this repository when you use

Kainoa Kanter 535 Jan 07, 2023
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
Recognizing the text contents from a scanned visiting card

Recognizing the text contents from a scanned visiting card. The application which is used to recognize the text from scanned images,printeddocuments,r

Faizan Habib 1 Jan 28, 2022
A general list of resources to image text localization and recognition 场景文本位置感知与识别的论文资源与实现合集 シーンテキストの位置認識と識別のための論文リソースの要約

Scene Text Localization & Recognition Resources Read this institute-wise: English, 简体中文. Read this year-wise: English, 简体中文. Tags: [STL] (Scene Text L

Karl Lok (Zhaokai Luo) 901 Dec 11, 2022
Python bindings for JIGSAW: a Delaunay-based unstructured mesh generator.

JIGSAW: An unstructured mesh generator JIGSAW is an unstructured mesh generator and tessellation library; designed to generate high-quality triangulat

Darren Engwirda 26 Dec 13, 2022
When Age-Invariant Face Recognition Meets Face Age Synthesis: A Multi-Task Learning Framework (CVPR 2021 oral)

MTLFace This repository contains the PyTorch implementation and the dataset of the paper: When Age-Invariant Face Recognition Meets Face Age Synthesis

Hzzone 120 Jan 05, 2023
Using Opencv ,based on Augmental Reality(AR) and will show the feature matching of image and then by finding its matching

Using Opencv ,this project is based on Augmental Reality(AR) and will show the feature matching of image and then by finding its matching ,it will just mask that image . This project ,if used in cctv

1 Feb 13, 2022
virtual mouse which can copy files, close tabs and many other features !

AI Virtual Mouse Controller Developed an AI-based system to control the mouse cursor using Python and OpenCV with the real-time camera. Fingertip loca

Diwas Pandey 23 Oct 05, 2021
Program created with opencv that allows you to automatically count your repetitions on several fitness exercises.

Virtual partner of gym Description Program created with opencv that allows you to automatically count your repetitions on several fitness exercises li

1 Jan 04, 2022
Satoshi is a discord bot template in python using discord.py that allow you to track some live crypto prices with your own discord bot.

Satoshi ~ DiscordCryptoBot Satoshi is a simple python discord bot using discord.py that allow you to track your favorites cryptos prices with your own

Théo 2 Sep 15, 2022
Official implementation of "An Image is Worth 16x16 Words, What is a Video Worth?" (2021 paper)

An Image is Worth 16x16 Words, What is a Video Worth? paper Official PyTorch Implementation Gilad Sharir, Asaf Noy, Lihi Zelnik-Manor DAMO Academy, Al

213 Nov 12, 2022
OpenMMLab Text Detection, Recognition and Understanding Toolbox

Introduction English | 简体中文 MMOCR is an open-source toolbox based on PyTorch and mmdetection for text detection, text recognition, and the correspondi

OpenMMLab 3k Jan 07, 2023
An expandable and scalable OCR pipeline

Overview Nidaba is the central controller for the entire OGL OCR pipeline. It oversees and automates the process of converting raw images into citable

81 Jan 04, 2023
Creating of virtual elements of the graphical interface using opencv and mediapipe.

Virtual GUI Creating of virtual elements of the graphical interface using opencv and mediapipe. Element GUI Output Description Button By default the b

Aleksei 4 Jun 16, 2022
Motion detector, Full body detection, Upper body detection, Cat face detection, Smile detection, Face detection (haar cascade), Silverware detection, Face detection (lbp), and Sending email notifications

Security camera running OpenCV for object and motion detection. The camera will send email with image of any objects it detects. It also runs a server that provides web interface with live stream vid

Peace 10 Jun 30, 2021
Forked from argman/EAST for the ICPR MTWI 2018 CHALLENGE

EAST_ICPR: EAST for ICPR MTWI 2018 CHALLENGE Introduction This is a repository forked from argman/EAST for the ICPR MTWI 2018 CHALLENGE. Origin Reposi

Haozheng Li 157 Aug 23, 2022
👄 The most accurate natural language detection library for Java and the JVM, suitable for long and short text alike

Quick Info this library tries to solve language detection of very short words and phrases, even shorter than tweets makes use of both statistical and

Peter M. Stahl 532 Dec 28, 2022
Handwritten_Text_Recognition

Deep Learning framework for Line-level Handwritten Text Recognition Short presentation of our project Introduction Installation 2.a Install conda envi

24 Jul 15, 2022
Code for the paper "DewarpNet: Single-Image Document Unwarping With Stacked 3D and 2D Regression Networks" (ICCV '19)

DewarpNet This repository contains the codes for DewarpNet training. Recent Updates [May, 2020] Added evaluation images and an important note about Ma

<a href=[email protected]"> 354 Jan 01, 2023