BoxToolBox is a simple python application built around the openCV library

Overview

BoxToolBox

BoxToolBox is a simple python application built around the openCV library. It is not a full featured application to guide you through the whole process. It is a missing piece in your toolchain between Lightroom and Photoshop. You still need to take you box pictures as straight as possible with the same camera settings and pre-process them to match the lighting.

It will help you to

  • correct perspective of the source photos
  • quickly test the layout and arrangement
  • place photos to correct location
  • generate grid to recolor or use as mask to hide the seams

It will not

  • unify brightness and colors of source photos
  • magically correct photos taken from bad perspective
  • assemble final picture

How to install (Linux)

Just clone or download this repository and run the main script. You will also need opencv installed.

pip install opencv-python
git clone https://github.com/fhorinek/BoxToolBox.git
cd BoxToolBox
python BoxToolBox.py

How to install (Windows)

Just download and execute pre-built exe file

It will trigger Windows protection, you need to click on more info and run anyway

How to use it

Here is a quick start video on youtube

BoxToolBox quick tutorial

Perspective editor

One window acts as input for defining box corners and the second window shows transformation previu. Controls on the second window sets transformed image width and height. The resolution for the final picture will be Width * Grid W x Height * Grid H. Margin define how much of the image will be preserved around the defined box. Preview scale will define size of the temporary pictures used in layout editor. Smaller scale will make the editor go faster, larger scale will provide better quality.

norm

Controls:

  • Mouse wheel - zoom
  • Left button - Pan
  • Middle button - Select point
  • N key and M key - Open previous and next image
  • Q - Close editor

Normally you only need to define a transformation box for the first photo. The transformation will be applied to all following pictures. If you bump the camera during the session you can find the first image that is affected and redefine the transformation box. All following images will use that correction.

Layout editor

You can use this window to compose the final image. Here you can change geometry for the final image. Set scaling and spacing for the images. You can use Transparent spacer to define a very precise scale.

layout

If the settings window is not visible press Ctrl-P.

Controls:

  • Mouse wheel - zoom
  • Left button - Pan
  • Drag picture - Swap images
  • N key and M key - set previous and next image
  • E key - Open perspective editor for image
  • C key - Toggle Crop or Full flag for image
  • S key - Show full image with marker lines
  • Q key - Close editor
  • Render - Show final image in full resolution
  • Output - Render final image in layers

Use different slots to experiment with multiple layouts and geometries.

Output

Output for the image will consist of multiple images placed inside the directory slot_n. Photos in images will be placed to correct location on transparent background. You will also find the generated grid image. Import these images as layers to any photo editor to compose the final image.

gimp

Disclaimer

This tool is my hobby project, done in my free time for my personal use. However I think that other people might find it useful so I made extra steps to make it more friendly and easier to install. If you found a bug or want something to add, feel free to open an issue. Pull requests are also welcomed!

If you found it useful and want to thank me, you can buy me a bear :-)

Owner
František Horínek
František Horínek
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
OCR engine for all the languages

Description kraken is a turn-key OCR system optimized for historical and non-Latin script material. kraken's main features are: Fully trainable layout

431 Jan 04, 2023
Maze generator and solver with python

Procedural-Maze-Generator-Algorithms Check out my youtube channel : Auctux Ressources Thanks to Jamis Buck Book : Mazes for programmers Requirements P

Joseph 19 Dec 07, 2022
A simple Digits Recogniser made in Python

⭐ Python Digit Recogniser A simple digit Recogniser made in Python Demo Run Locally Clone the project git clone https://github.com/yashraj-n/python-

Yashraj narke 4 Nov 29, 2021
An interactive interface for using OpenCV's GrabCut algorithm for image segmentation.

Interactive GrabCut An interactive interface for using OpenCV's GrabCut algorithm for image segmentation. Setup Install dependencies: pip install nump

Jason Y. Zhang 16 Oct 10, 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
A machine learning software for extracting information from scholarly documents

GROBID GROBID documentation Visit the GROBID documentation for more detailed information. Summary GROBID (or Grobid, but not GroBid nor GroBiD) means

Patrice Lopez 1.9k Jan 08, 2023
🖺 OCR using tensorflow with attention

tensorflow-ocr 🖺 OCR using tensorflow with attention, batteries included Installation git clone --recursive http://github.com/pannous/tensorflow-ocr

646 Nov 11, 2022
Face Anonymizer - FaceAnonApp v1.0

Face Anonymizer - FaceAnonApp v1.0 Blur faces from image and video files in /data/files folder. Contents Repo of the source files for the FaceAnonApp.

6 Apr 18, 2022
Read-only mirror of https://gitlab.gnome.org/GNOME/ocrfeeder

================================= OCRFeeder - A Complete OCR Suite ================================= OCRFeeder is a complete Optical Character Recogn

GNOME Github Mirror 81 Dec 23, 2022
📷 This repository is focused on having various feature implementation of OpenCV in Python.

📷 This repository is focused on having various feature implementation of OpenCV in Python. The aim is to have a minimal implementation of all OpenCV features together, under one roof.

Aditya Kumar Gupta 128 Dec 04, 2022
This is an API written in python that uses FastAPI. It is a simple API that can detect discord tokens in Images.

Welcome This is an API written in python that uses FastAPI. It is a simple API that can detect discord tokens in Images. Installation There are curren

8 Jul 29, 2022
Extract tables from scanned image PDFs using Optical Character Recognition.

ocr-table This project aims to extract tables from scanned image PDFs using Optical Character Recognition. Install Requirements Tesseract OCR sudo apt

Abhijeet Singh 209 Dec 06, 2022
Corner-based Region Proposal Network

Corner-based Region Proposal Network CRPN is a two-stage detection framework for multi-oriented scene text. It employs corners to estimate the possibl

xhzdeng 140 Nov 04, 2022
This is a repository to learn and get more computer vision skills, make robotics projects integrating the computer vision as a perception tool and create a lot of awesome advanced controllers for the robots of the future.

This is a repository to learn and get more computer vision skills, make robotics projects integrating the computer vision as a perception tool and create a lot of awesome advanced controllers for the

Elkin Javier Guerra Galeano 17 Nov 03, 2022
fishington.io bot with OpenCV and NumPy

fishington.io-bot fishington.io bot with using OpenCV and NumPy bot can continue to fishing fully automatically how to use Open cmd in fishington.io-b

Bahadır Araz 77 Jan 02, 2023
A list of hyperspectral image super-solution resources collected by Junjun Jiang

A list of hyperspectral image super-resolution resources collected by Junjun Jiang. If you find that important resources are not included, please feel free to contact me.

Junjun Jiang 301 Jan 05, 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
Recognizing cropped text in natural images.

ASTER: Attentional Scene Text Recognizer with Flexible Rectification ASTER is an accurate scene text recognizer with flexible rectification mechanism.

Baoguang Shi 681 Jan 02, 2023

Installations for running keras-theano on GPU Upgrade pip and install opencv2 cd ~ pip install --upgrade pip pip install opencv-python Upgrade keras

Berat Kurar Barakat 14 Sep 30, 2022