Problem: While office-grade copiers do duplex scanning at high speed, the scan quality of photos is often poor.

Proposed Solution: Improve scan quality by weighted averaging of aligned/registered scans.

Task Summary: Create a well-documented desktop application (CLI or simple GUI), probably with Python, to (1) rename input scan files (TIFF, JPG, PNG); (2) align/register multiple scans; (3) average scans on a pixel-by-pixel basis to eliminate errors; (4) output 24-bit lossless (PNG, TIFF) files.

Details:
• I will be creating four scans of the same 120-180 pages.
• Each scan series will run from page 1 through 120+ in one orientation (for example top of page "up" / at North).
• Subsequent scan series will also run from page 1 through 120+ in three more orientations (for example, top of page right/East, then down/South, then page left/West).
• scans should be renamed to user-selected  'Title - Issue 00x - Page 00x - N/E/S/W'.
• scans can probably be aligned/registered with Python optical flow tools scikit-image or openCV. Image warping will be needed! (I've done some sub-par non-warping registration tests with ImageJ/FIJI.)
• with images registered, compare each value for R, G, and B for each pixel. Drop the values that are outside some user-specified parameter 'r' of each other; average the remaining values (i.e., within 'r' of each other).
• write averaged files to user-selectable lossless image format (TIFF or PNG).
• CLI syntax for various tasks could be something like:

appname -rename ([first_image_in_input_scan_series], [title], [issue_number], [orientation_N_E_S_or_W])

appname -register ([title], [issue_number], [start_page], [end page])

appname -bestof ([title], [issue_number], [start_page], [end page], [radius_value])

Resources:
Optical Flow vector field generation and warping: https://www.youtube.com/watch?v=F4AV6SsUxXE
(Optical Flow example starts at 11:30)

Sample code from video:
https://github.com/bnsreenu/python_for_image_processing_APEER/blob/master/tutorial46_img_registration_libraries_in_python.py

I have a pretty decent idea of what I want/need, but I'm not a programmer, so I'd be interested to answer as many of your questions before or as you work on the implementation, rather than ask for expensive changes once you're done.

I have attached some sample scans.

Hourly Range: $10.00-$30.00
Posted On: March 28, 2023 00:11 UTC
Category: Desktop Software Development
Skills:Python, Image Processing, Desktop Application, OpenCV, SciPy
Country: Canada
click to apply