Project in the lecture Computer- & Robotervision at the Hochschule Heilbronn in the Master's program "Mechatronik and Robotik" at the Faculty of Technik (TE).
This project was supervised by Prof. Dr. rer. nat. Dieter Maier.
Analog strips are photographed on an illuminated background. The rest is managed by digital image processing. The result is digitized images of the objects in the camera's field of view. Images can be loaded from Path or captured directly by a connected camera.
Format | 35 mm | 120 (6x6) | 120 (6x9) | Dias |
---|---|---|---|---|
Black & Whitze |
Yes, No Example Image | Yes, No Example Image | ||
Colored |
The GUI forms the interface between the user and the system. It is designed to enable intuitive and efficient interaction with the application. The GUI simplifies the digitization of analog images and slides and creates a user-friendly environment.
The connection of a camera and the resulting live view of the images is also implemented. When selecting the camera, all available camera ports are detected and listed in a drop-down menu. The first port is always selected automatically and its live image is included in the GUI preview.
The goal of this project is to develop a fully functional and user-friendly program capable of digitizing analog photos and slides. The focus is on the following features:
-
Diverse digitalization options:
The program aims to provide versatile digitization capabilities, allowing users to digitize pre-existing images from analog film strips and slides, as well as capture live images through a camera. This flexibility enables users to adapt the program to their specific needs. -
Precise Image Recognition and Cropping:
After specifying standardized formats, the program will automatically recognize, crop, and optimally align images/strips. This ensures efficient digitization with minimal manual intervention, streamlining the overall process. -
Inversion and Color Correction:
Leveraging modern image processing techniques, the program will invert images and apply color correction to enhance their quality, bringing them as close to the original as possible. -
User-Friendly Interface:
The user interface of the program will be designed to be intuitive, catering to both technically proficient users and hobby photographers. The goal is to provide a straightforward application experience, promoting ease of use.
To use this project, you need to clone it from the GitHub repository. Follow the steps below in the command window (CMD) to navigate to the desired location where the project should be located:
cd Path\to\destination\directory
Clone the repository into the specified directory using the following command:
git clone https://github.com/Tim-Keicher/AnalogScannerCRV.git
Clone the repository into the specified directory using the following command:
As this project is programmed in Python, we recommend using an environment management tool like Anaconda. Follow the steps below to set up the environment:
- Download and install Anaconda from https://www.anaconda.com/download.
- Open the Anaconda Prompt.
- Navigate to the cloned project directory from GitHub:
cd Path\to\destination\directory\AnalogScannerCRV
- Generate the environment variable using the provided environment.yml file:
conda env create -f analogScan.yml
To check if the environment variable was created successfully, run the following command:
conda env list
To activate the environment variable, run the following command:
conda activate analogScan
The scanner program can now be launched using the following command:
python main.py