Videos longos podem ser visualizados mais rapidamente selecionando um frame por segundo por exemplo. Podemos obter um movimento de camera mais suave selecionando frames que mantenham um bom alinhamento e uma boa sobreposição como foi apresentado por Joshi et al no SIGGRAPH 2015 [1]. Este trabalho implementa o algortimo de seleção de frames proposto. Tomando uma velocidade desejada é feita a seleção de frames de obedecendo o critério acima de manter bom alinhamento e boa sobreposição, obtendo dessa forma uma escolha ótima das frames que irão compor o video mais rápido. Após a seleção de frames é desejável realizar a estabilização do video. Os videos de exemplo gerados utilizaram a estabilização disponível no youtube e a disponível no OpenCV em opencv/samples/cpp/videostab.cpp, ambas são implementações do algoritmo proposto por Grundmann et al [2].
cd ~ mkdir github cd github git clone https://github.com/Itseez/opencv.git git clone https://github.com/Itseez/opencv_contrib.git cd ~/github/opencv mkdir build cd build cmake -D CMAKE_BUILD_TYPE=Release -D BUILD_DOCS=On -D BUILD_EXAMPLES=On -D PYTHON2_EXECUTABLE=/usr/bin/python2.7 -D PYTHON_INCLUDE_DIR=/usr/include/python2.7 -D PYTHON_INCLUDE_DIR2=/usr/include/x86_64-linux-gnu/python2.7 -D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython2.7.so -D PYTHON2_NUMPY_INCLUDE_DIRS=/usr/lib/python2.7/dist-packages/numpy/core/include/ -D OPENCV_EXTRA_MODULES_PATH=~/github/opencv_contrib/modules -D CMAKE_INSTALL_PREFIX=/usr/local .. sudo make -j7 sudo make install
sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
python hyp.py -f filename [<args>]Executável:
./hyp -f filename [<args>]
Original | Seleção de frames (algoritmo) e estabilização (opencv) |
---|---|
Seleção de frames (naive) e estabilização (youtube) | Seleção de frames (algoritmo) e estabilização (youtube) |
---|---|
Seleção de frames (naive) e estabilização (youtube) | Seleção de frames (algoritmo) e estabilização (youtube) |
---|---|
[1] Joshi, N., Kienzle, W., Toelle, M., Uyttendaele, M. and Cohen, M.F. 2015. Real-Time Hyperlapse Creation via Optimal Frame Selection. SIGGRAPH página do artigo
[2] Grundmann, M. Kwatra, V. and Essa, I. 2011. Autodirected Video Stabilization with Robust L1 Optimal Camera Paths. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR 2011) página do artigo