11.10.2016
New approach: calculating the center of brighness instead of center of shape of the object:
Analysing the brightness of the image...
02.09.2016
Concept:
I started with this project to understand and visualize all necessary steps to perform a fully automated planetary stacking program. I called my program "bitStAcKeR". I worked on this project for several weeks. The program works with different planetary videos, and outputs a resulting stacked image of the planet and also a video file with all frames centered and sorted by quality.
The program was written in Visual C++ 2010 with OpenCV 2.10 library, and just reached a first engineering drop which performs all tasks....somehow,... :-)
Pros: I learned a lot, and liked to work on this project. I could optimize several algorithms to get first good result. I also liked the idea to perform all steps automatically. Therefore it was necessary to identify the processing parameters (overall brightness, noise variance, RGB channel quality, planet ROI filtering, etc.) automatically. My goal is always to make it userfriendly and let the computer decide how and what to do... :-)
Cons: buggy, slow, if compared with other proffessional/free tools, needs lot of optimization, result is not as good as some free programs, etc etc. So still in beta beta release stage....
If I find some time to perfom some optimizations, I would distribute this tool to some interested people who wants to try it.
These main steps were identified and roughly implemented during coding:
- convert each video frame into their RGB channels
- calculate overall frame brightness and noise variance
- backgound noise filtering
- object identification (planet, moons) and numbering
- selection of biggest object (planet) [first tests were done only with the ROI of planet due to processing speed]
- use my own floodfill algorithm to calculate center of shape and other relevant data
- calculate image quality measuring the sharpness of surrounding pixels (algorithm needs to be optimized (quality/time))
- generate array in RAM and also AVI video with sorted images by quality
- depending on the ammount of frames and the overall quality, take the best frames to perform stacking process
- stack each RGB channel using a median algorithm
- put RGB channels together and save the resulting image
Some stacking parameters were tested and compared. Bottom right is the best result:
Planet Jupiter with two moons during stacking process...
Also Saturn wants to get stacked...
Et voilà ! Left image is a RAW standard frame, right image is the stacked image reduced to 70%, Many details are good visible !