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
Neural search engine for AI papers

Papers search Neural search engine for ML papers. Demo Usage is simple: input an abstract, get the matching papers. The following demo also showcases

Giancarlo Fissore 44 Dec 24, 2022
Learning Camera Localization via Dense Scene Matching, CVPR2021

This repository contains code of our CVPR 2021 paper - "Learning Camera Localization via Dense Scene Matching" by Shitao Tang, Chengzhou Tang, Rui Hua

tangshitao 65 Dec 01, 2022
CNN+LSTM+CTC based OCR implemented using tensorflow.

CNN_LSTM_CTC_Tensorflow CNN+LSTM+CTC based OCR(Optical Character Recognition) implemented using tensorflow. Note: there is No restriction on the numbe

Watson Yang 356 Dec 08, 2022
This project proposes a camera vision based cursor control system, using hand moment captured from a webcam through a landmarks of hand by using Mideapipe module

This project proposes a camera vision based cursor control system, using hand moment captured from a webcam through a landmarks of hand by using Mideapipe module

Chandru 2 Feb 20, 2022
Deskew is a command line tool for deskewing scanned text documents. It uses Hough transform to detect "text lines" in the image. As an output, you get an image rotated so that the lines are horizontal.

Deskew by Marek Mauder https://galfar.vevb.net/deskew https://github.com/galfar/deskew v1.30 2019-06-07 Overview Deskew is a command line tool for des

Marek Mauder 127 Dec 03, 2022
Semantic-based Patch Detection for Binary Programs

PMatch Semantic-based Patch Detection for Binary Programs Requirement tensorflow-gpu 1.13.1 numpy 1.16.2 scikit-learn 0.20.3 ssdeep 3.4 Usage tar -xvz

Mr.Curiosity 3 Sep 02, 2022
Ocular is a state-of-the-art historical OCR system.

Ocular Ocular is a state-of-the-art historical OCR system. Its primary features are: Unsupervised learning of unknown fonts: requires only document im

228 Dec 30, 2022
PyNeuro is designed to connect NeuroSky's MindWave EEG device to Python and provide Callback functionality to provide data to your application in real time.

PyNeuro PyNeuro is designed to connect NeuroSky's MindWave EEG device to Python and provide Callback functionality to provide data to your application

Zach Wang 45 Dec 30, 2022
Generic framework for historical document processing

dhSegment dhSegment is a tool for Historical Document Processing. Its generic approach allows to segment regions and extract content from different ty

Digital Humanities Laboratory 343 Dec 24, 2022
Implementation of our paper 'PixelLink: Detecting Scene Text via Instance Segmentation' in AAAI2018

Code for the AAAI18 paper PixelLink: Detecting Scene Text via Instance Segmentation, by Dan Deng, Haifeng Liu, Xuelong Li, and Deng Cai. Contributions

758 Dec 22, 2022
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
An organized collection of tutorials and projects created for aspriring computer vision students.

A repository created with the purpose of teaching students in BME lab 308A- Hanoi University of Science and Technology

Givralnguyen 5 Nov 24, 2021
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
Roboflow makes managing, preprocessing, augmenting, and versioning datasets for computer vision seamless.

Roboflow makes managing, preprocessing, augmenting, and versioning datasets for computer vision seamless. This is the official Roboflow python package that interfaces with the Roboflow API.

Roboflow 52 Dec 23, 2022
Automatically resolve RidderMaster based on TensorFlow & OpenCV

AutoRiddleMaster Automatically resolve RidderMaster based on TensorFlow & OpenCV 基于 TensorFlow 和 OpenCV 实现的全自动化解御迷士小马谜题 Demo How to use Deploy the ser

神龙章轩 5 Nov 19, 2021
An official PyTorch implementation of the paper "Learning by Aligning: Visible-Infrared Person Re-identification using Cross-Modal Correspondences", ICCV 2021.

PyTorch implementation of Learning by Aligning (ICCV 2021) This is an official PyTorch implementation of the paper "Learning by Aligning: Visible-Infr

CV Lab @ Yonsei University 30 Nov 05, 2022
Text language identification using Wikipedia data

Text language identification using Wikipedia data The aim of this project is to provide high-quality language detection over all the web's languages.

Vsevolod Dyomkin 28 Jul 09, 2022
An Implementation of the alogrithm in paper IncepText: A New Inception-Text Module with Deformable PSROI Pooling for Multi-Oriented Scene Text Detection

InceptText-Tensorflow An Implementation of the alogrithm in paper IncepText: A New Inception-Text Module with Deformable PSROI Pooling for Multi-Orien

GeorgeJoe 115 Dec 12, 2022
✌️Using this you can control your PC/Laptop volume by Hand Gestures created with Python.

Hand Gesture Volume Controller ✋ Hand recognition 👆 Finger recognition 🔊 you can decrease and increase volume Demo Code Firstly I have created a Mod

Abbas Ataei 19 Nov 17, 2022
graph learning code for ogb

The final code for OGB Installation Requirements: ogb=1.3.1 torch=1.7.0 torch-geometric=1.7.0 torch-scatter=2.0.6 torch-sparse=0.6.9 Baseline models T

PierreHao 20 Nov 10, 2022