GithubHelp home page GithubHelp logo

tschnz / live-video-magnification Goto Github PK

View Code? Open in Web Editor NEW
428.0 32.0 100.0 7.22 MB

An OpenCV/Qt based realtime application for Eulerian Video Magnification / Motion Magnification. Works with multiple videos and cameras at the same time and let's you export the magnified videos.

License: GNU General Public License v3.0

C++ 96.11% C 2.33% QMake 1.56%
motion-magnification video-magnification eulerian-video-magnification video webcam opencv amplification camera phase-based riesz

live-video-magnification's People

Contributors

tschnz avatar zefrenchy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

live-video-magnification's Issues

Errors

I tried to compile the source code on my machine . Qt 5.5.1 . OpenCV 3.1 and it shows basics errors
In file included from ../src/main/magnification/TemporalFilter.cpp:25:0:
../src/main/magnification/TemporalFilter.h:85:29: error: 'vector' does not name a type
void iirWaveletFilter(const vector &src, vector &dst, vector &lowpassHi, vector &lowpassLo, double cutoffLo, double cutoffHi);
^
../src/main/magnification/TemporalFilter.h:85:29: error: ISO C++ forbids declaration of 'parameter' with no type [-fpermissive]
../src/main/magnification/TemporalFilter.h:85:35: error: expected ',' or '...' before '<' token
void iirWaveletFilter(const vector &src, vector &dst, vector &lowpassHi, vector &lowpassLo, double cutoffLo, double cutoffHi);
^
../src/main/magnification/TemporalFilter.cpp:50:29: error: 'vector' does not name a type
void iirWaveletFilter(const vector &src, vector &dst, vector &lowpassHi, vector &lowpassLo,
^
../src/main/magnification/TemporalFilter.cpp:50:29: error: ISO C++ forbids declaration of 'parameter' with no type [-fpermissive]
../src/main/magnification/TemporalFilter.cpp:50:35: error: expected ',' or '...' before '<' token
void iirWaveletFilter(const vector &src, vector &dst, vector &lowpassHi, vector &lowpassLo,
^
../src/main/magnification/TemporalFilter.cpp: In function 'void iirWaveletFilter(int)':
../src/main/magnification/TemporalFilter.cpp:54:8: error: 'cutoffLo' was not declared in this scope
if(cutoffLo == 0)
^
../src/main/magnification/TemporalFilter.cpp:64:23: error: 'cutoffHi' was not declared in this scope
Mat tmp1 = (1-cutoffHi)_lowpassHi[dims] + cutoffHi_src[dims];
^
../src/main/magnification/TemporalFilter.cpp:64:33: error: 'lowpassHi' was not declared in this scope
Mat tmp1 = (1-cutoffHi)_lowpassHi[dims] + cutoffHi_src[dims];
^
../src/main/magnification/TemporalFilter.cpp:64:60: error: 'src' was not declared in this scope
Mat tmp1 = (1-cutoffHi)_lowpassHi[dims] + cutoffHi_src[dims];
^
../src/main/magnification/TemporalFilter.cpp:65:23: error: 'cutoffLo' was not declared in this scope
Mat tmp2 = (1-cutoffLo)_lowpassLo[dims] + cutoffLo_src[dims];
^
../src/main/magnification/TemporalFilter.cpp:65:33: error: 'lowpassLo' was not declared in this scope
Mat tmp2 = (1-cutoffLo)_lowpassLo[dims] + cutoffLo_src[dims];
^
../src/main/magnification/TemporalFilter.cpp:69:9: error: 'dst' was not declared in this scope
dst[dims] = lowpassHi[dims] - lowpassLo[dims];

in the temporalfilter.cpp file

Question about buffer management

First of all, thank you for this very well built and documented implementation. I'm in the process of creating something similar in python and was hoping you could clarify some doubts.

I am running color magnification using my webcam (30fps), with an image buffer size of 999.
As expected, the capture thread processes the frames at 30 fps, while the processing thread processes them at a much lower rate, thus leading to the image buffer getting full.

When the buffer is full, it would be expected that the processing thread is processing the frame captured 999 frames ago, and thus a big delay should be noticeable on the processed image in the gui, but that does not happen.
Although we can see that the processed video frame rate is low (due to the low processing rate), the frame delay is much lower than the expected 999 frames delay. Although this is desirable, I'm not sure what in the code causes it to happen.

From my understanding, in lines 102 and 108 of ProcessingThread.cpp, the oldest frame present on the sharedImageBuffer is added to the ProcessingBuffer, which should lead to a delay proportional to the number of (unprocessed) frames in the buffer.
What causes this behaviour?

Thank you

compiling this repository

Hi!
I am trying to compile this code but I don't know how to!
could you please help me?
there is not enough information for compiling on README.md

I also would very appreciate it if you send me an email.

CMakeFiles?

I want to compile it in Ubuntu.
Do you have any CMakeFile for it?
Thanks

Unable to compile

Hi I have installed all the dependencies and added all directories and linkers in Visual Studio 2019 but I am still not able to compile this. I also tried using QT Studio but its all not working I keep on receiving errors.

I am getting error:

Error LNK1181 cannot open input file 'C:\Qt\Tools\QtDesignStudio\qt5_design_studio_reduced_version\lib\Qt5Widgets.lib' rvm C:\Users\taten\3D Objects\BBMA\Live-Video-Magnification-master\Live-Video-Magnification-master\src\LINK 1**_

I have tried serching for the libraries but i did not find them.

There are just .prl files and no .lib files in Qt\Tools\QtDesignStudio\qt5_design_studio_reduced_version\lib\

Riesz magnification for baby sleeping does not work

I tested your SW for the video baby sleeping from MIT, but do not see any magnification.
Here is my setting parameters:
pyramid level = 4
amplification = 50
Cutoff wave length 5
Freq low 0.04, high: 0.4

Moreover, I am interested in understanding why do you use lowpass and highpass filter within riesz pyramid (by building and reconstruction)?

What do you think?
Thanks

How do you actually use this?

Hi, there are no installation and usage instructions, just dependencies.
I installed both QT and opencv. I have no idea how to connect them both together, and what file to use from your project in which of the above mentioned programs.

Please provide a little more information, so that someone who is not so proficient in these programs can launch your program. Thank you!

Idea filter frequency

Hi,
I have 2 questions about the idea filter frequency

double fl = 2 * cutoffLo * width / framerate;
double fh = 2 * cutoffHi * width / framerate;

why do you use 2 time frequency?
fl and fh are calculated by width instead of width and height, why?

Thanks a lot.

Solved. Unable to use in Windows 10 64 bit

Hello Dear
I am a paranormal Researcher and using your code in Debian I have captured a lot. My next step is to use your GUI in Windows 10 64 bit along with Kinect V2 without any virtual environment. I am unable to compile your code for Windows 10 64 bit using opencv 2, Qt 5 for windows under Visual Studio 2017. Each time I try to build from rvm.pro I get one error which seems to be logical as it points to a path in your code related to your own machine i.e
Error LNK1181 cannot open input file 'D:\Programme\OpenCV\source\opencv\install\x64\vc15\lib\opencv_core412.lib' Coz I dont have this path existing in my machine.
If you kindly help me and release some pre-compiled binaries and executable for windows 10 64 bit, I shall be grateful. Being not a code Guru I need your help in this. Regards

Check motion magnification

Hi all,

First, thank you for the work done since I am deeply interested in the potential of this algorithm and mainly in motion magnification.
I managed to compile the code but I am still strugling to be sure it works OK.

Would you have an example video and dedicated settings to check it works fine on my computer?

Thanks,
Nicolas

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.