New Python version schlieren_6.py with many new features:
- record video as MP4 avi or image sequence (needs scikit-video because of OpenCV bug)
- all functions accessible via command line options.
- reduced noise in image processing by means of frame stacking for reference frame and CLAHE (contrast limited adaptive histogram equalization) for main processing. I could see the warm air rising from my hand with this new algorithm.
- fastNlMeansDenoising can be used, but is slow (1 fps on my i7 quadcore). But any image sequence from a previous pass can be fed into the program again via command line:
python ./schlieren_6.py -dd -i rawimg/%08d.bmp -fd 43 -c 4 -ov color_filtered.avi
This means: "Load bitmap sequence in rawimg, starting with 00000000.bmp, don't use schlieren differentiation but strong denoising (43) and pseudo-color palette 4, output to color_filtered.avi in the programs directory. You can see the results below.
- New Hotkey layout:
d - toggle display between raw and rendered image
h - toggle HUD style on screen text display
r - capture 10 frames, stack and average them as reference image
s - toggle schlieren differentiation (mostly needed from command line for postproc)
c - rotate through colour palettes
e - toggle histogram equalization
b - toggle median blur
n - toggle denoise (very slow! It is recommended to use this in a second pass)
v - toggle video recording
i - toggle recording of image sequence
p - rotate through background patterns
+ - increase pattern size
- - decrease pattern size
q - quit program