chinese-hershey-font
Convert Chinese Characters to Single-Line Fonts using Computer Vision
Real‑time Eulerian video magnification: amplify subtle motion & color from webcam or video. Linux/Windows/macOS
git clone https://github.com/tschnz/Live-Video-Magnification.gittschnz/Live-Video-MagnificationThis was my Bachelor thesis back in 2015. It's more of a zombie project I keep reviving from time to time with new build systems. If I get bored I might overhaul it...or at least make it crash less.
An OpenCV/Qt based realtime application for Eulerian Video Magnification. Works with multiple videos and cameras at the same time and let's you export the magnified videos.
Image shows the color magnified output for a video. In the pictures you can see the effects of the cardiac cycle on the skins color. The upper image shows the skin of the face during a diastole, the lower one during a ventricular systole of the cycle.
(Un-)Wanted artifacts from a realtime motion magnified camerastream. The strong b/w areas around torso and head are resulting from a fast backwards movement and excessive amplification. The white points (the ones bigger than the noise) on the left side are awhirled dust particles, not visible in the original camera source.
This is currently only tested on Windows with Visual Studio 2022.
Statically linking Qt6 and OpenCV with Vcpkg. Slow build times but easy deployment.
cmake --preset msvc-vcpkg
cmake --build --preset msvc-vcpkg-release
Dynamically linking Qt6 and OpenCV from preinstalled/prebuild libraries. A lot faster build time but deployment more complicated.
Instead of setting the environment variables you can also adjust the CMakePresets.json file to point to your installation folders.
cmake --preset msvc-prebuild
cmake --build --preset msvc-prebuild-release
cmake --install
This application is licensed under GPLv3, read the LICENSE.
Thanks to Nick D'Ademo whose qt-opencv-multithreaded application served as basis and to Joseph Pan whose algorithms in the QtEVM application were adapted for this project.
Also take a look at the MITs webpage for Eulerian Video Magnification. They provide demo videos on their page and the team did a fantastic job in researching and developing this field of science.
When succesfully connected to a camera or opened a window, you can draw a box in the video, to scale and only amplify this Region Of Interest in a video source. Setting the video back to normal can be done via menu that opens with a right click in the video. There is also the option to show the unmagnified image besides the processed one.
Try experimenting with different option values. Furthermore tooltips are provided when hovering the cursor above a text label in the options tab. If you're using an older machine and processing is too slow, try enabling the Grayscale checkbox.
| Low Level value | High Level value | |
|---|---|---|
| Color Magnification | Slower and more accurate. Too low = no signal detection | Faster magnification, inaccurate spatial resolution |
| Motion Magnification | More noise, less movements by big objects | Less noise, less movements by little objects |
Note that in the scene, absolutely NO MOVEMENTS are required to process the video correctly.
For saving videos or recording from camera you have to specify the file extension by your own. .avi is well supported. If you should encounter problems, please try a differenct saving codec in the toolbar under File->Set Saving Codec.
The image below provides you the class structure and the dataflow (blue = images, red = options) throughout the application.
The algorithms are using a combination of spatial filters (e.g. image pyramids) and temporal filters to determine motions of different spatial wavelength in videos. These can be amplified separately before collapsing the image pyramid and adding the motion image back to the original.
For further informations look at the comments in the .h/.cpp files in /main/magnification/*
For further informations look at the comments in the .h/.cpp files in /main/magnification/*
more like this
Convert Chinese Characters to Single-Line Fonts using Computer Vision
🎥🤟 8 minimalistic templates for tfjs mediapipe handpose and facemesh
Free open-source Cloudflare R2 desktop client and S3 GUI for macOS, Windows, and Linux. Manage Cloudflare R2, AWS S3, M…
search projects, people, and tags