Added video recording, post-processing and improved image processing

A project log for Schlieren-Videography

With this project I want to show you how you can make Schlieren-Videography at home. To do so we will use the Moiré-effect.

mark-dammer-mm0dqmMark Dammer MM0DQM 08/19/2016 at 16:100 Comments

New Python version 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 ./ -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