Image assembler software
Fast real-time image processing handler for robotic defects recognition systems.
This software implements a focus stacking algorithm made on C++ language.
Focus stacking is useful when your depth of field is shallower than
all the objects you wish to capture. In macro photography, this is very common.
Instead, you take a series of pictures where you focus progressively throughout
the range of images, so that you have a series of images that, in aggregate,
have everything in focus. Focus stacking, then, merges these images by taking
the best focused region from all of them to build up the final composite image.
There is a sample program in folder 'software'.
It assumes that there is a subdirectory called "input" which contains the
source images. It generates an output called "result.bmp" Max input image size
5000px width for 25Mp High resolution camera.
I have also included some sample images in the input directory to allow you to
experiment with the code without having to shoot your own set of images.
If you run the program without parameters, it print a list of all possible options.
It is convenient to use batch files for different configurations.
The program folder contains the following examples of *.bat files:
• img-color.bat (slow)
image processing with color
• img-gray.bat (fast)
image processing without color
• img-resized.bat (very fast)
reduce image size before processing
use this file if call the application without argument string
Load image array from: ../path/folder/filename*.* Here first star
sign (*) must be image number. Input file format is .* - bmp, png, jpg, gif.
Number 0 use for based master frame definiton.
Case 1: Img0.bmp - img frame with number 0. Exaple: -i step0.jpg -n 4
Here loading img array: step0.jpg... step3.jpg, 4 frames
Case 2: Img2.bmp - frame number 3 used like begin master-frame for array Img2.
Example: -i Camera2.bmp -n 6 Here loading img array:
Camera2... Camera2.bmp, 6 frames
Reduce incoming image array size by width & heigth, in persents.
Image`s count number for loading.
Show output image on display.
Write output image: ../path/folder/filename.* - bmp, png, jpg, gif.
Do image output chromaticity, with color enabled.
If used this options, put here pointer to mem array.
And image`s will be fast downloaded from shared memory.
Frame align filter threshold forced value.
Show command argument`s list
Show image processing time, ms
Show aligned images
Write aligned images to: path/folder
Show Laplasian vector`s field
Show programm usage help