Giter Club home page Giter Club logo

optical-flow_python's Introduction

Optical-Flow_Python

Optical Flow_Python ..................................................

EROOR : NO MODULE NAMED VIDEO

SOLUTION : MAY BE YOU INSTALL OPENCV BUT OPENCV NOT CONTAIN VIDEO MODULE SO INSTALL GITHUB FILE OF OPENCV AND RUN THIS FILE (opt_flow )IN OPENCV/PYTHON/SAMPLE/OPT_FLOW.IPYNB

link are https://github.com/opencv/opencv. (the link of opencv)

Some readable link: https://medium.com/@anuragranj/how-many-numbers-does-it-take-to-compute-optical-flow-aa9545337b91

https://arxiv.org/pdf/1504.06852.pdf

What is Optical flow ? Optical flow is the pattern of apparent motion of image objects between two consecutive frames caused by the movemement of object or camera. It is 2D vector field where each vector is a displacement vector showing the movement of points from first frame to second. https://github.com/ankitAMD/Optical-Flow_Python/blob/master/opt_flow.ipynb

It shows a ball moving in 5 consecutive frames. The arrow shows its displacement vector. Optical flow has many applications in areas like :

Structure from Motion
Video Compression
Video Stabilization .

IN CODE WE USE We use the function: cv.calcOpticalFlowFarneback (prev, next, flow, pyrScale, levels, winsize, iterations, polyN,

polySigma, flags) WHICH MAINLY USE FOR DENSE OPTICAL FLOW

https://github.com/ankitAMD/Optical-Flow_Python/blob/master/bbb.png

1.from future import print_function :

https://www.quora.com/Whats-the-point-in-adding-from-__future__-import-print_function-in-__init__-py-in-python/answer/Ankit-Gupta-1781

https://stackoverflow.com/questions/32032697/how-to-use-from-future-import-print-function.

  1. h, w = img.shape[:2] :: https://www.reddit.com/r/scipy/comments/4zdh9x/what_does_numpys_imageshape2_do/

3.np.reshape : https://stackoverflow.com/questions/18691084/what-does-1-mean-in-numpy-reshape Basic about code Syntax :

  1. np.arctan2 : Element-wise arc tangent of x1/x2 choosing the quadrant correctly.(Simple in my words it is arc of tangent(roughly

thinks as tan oppose)).

(https://docs.scipy.org/doc/numpy-1.14.0/reference/generated/numpy.arctan2.html)

2.img.shape : Image properties include number of rows, columns and channels, type of image data, number of pixels etc.

Shape of image is accessed by img.shape. It returns a tuple of number of rows, columns and channels (if image is color)

If image is grayscale, tuple returned contains only number of rows and columns. So it is a good method to check if loaded image is

grayscale or color image. (https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_core/py_basic_ops/py_basic_ops.html)

3.numpy.mgrid: mesh_grid returns n-D arrays all of the same Dimensions. (https://docs.scipy.org/doc/numpy-1.14.0/reference/generated/numpy.mgrid.html)

  1. numpy.vstack: Stack arrays in sequence vertically (row wise).

(https://docs.scipy.org/doc/numpy/reference/generated/numpy.vstack.html)

https://www.tutorialspoint.com/numpy/numpy_vstack.htm

5.cv.cvt.Color(img, cv.COLOR_GRAY2BGR) :A method named cvtColor() is used to convert colored images to grayscale.

https://www.tutorialspoint.com/opencv/opencv_colored_images_to_grayscale.htm

6.cv.polylines:draw Polylines on an image using the method polylines() of the imgproc class.

https://www.tutorialspoint.com/opencv/opencv_drawing_polylines.htm

7.np.zeros :Return a new array of given shape and type, filled with zeros. ex: np.zeros(5)

 array([ 0.,  0.,  0.,  0.,  0.])
 
 np.zeros((5,), dtype=int)

array([0, 0, 0, 0, 0])

https://docs.scipy.org/doc/numpy/reference/generated/numpy.zeros.html

8.np.unit8 :Unsigned integer (0 to 255)

(https://docs.scipy.org/doc/numpy-1.13.0/user/basics.types.html)

9.np.arange([start, ]stop, [step, ]dtype=None) : Return evenly spaced values within a given interval.

np.arange(3)

array([0, 1, 2])

np.arange(3.0)

array([ 0., 1., 2.])

np.arange(3,7)

array([3, 4, 5, 6])

np.arange(3,7,2)

array([3, 5])

https://docs.scipy.org/doc/numpy/reference/generated/numpy.arange.html

10.cv.remap : Use the OpenCV function cv::remap to implement simple remapping routines.

https://docs.opencv.org/3.1.0/d1/da0/tutorial_remap.html(this is best example and see also figure).

http://www.peeknpoke.net/single-post/2016/10/29/OpenCV-remap-function

  1. import sys : The sys module provides information about constants, functions and methods of the Python interpreter. dir(system) gives a summary of the available constants, functions and methods. Another possibility is the help() function. Using help(sys) provides valuable detail information.

https://www.python-course.eu/sys_module.php

https://docs.python.org/2/library/sys.html

12.sys.argv : The Python sys module provides access to any command-line arguments via the sys.argv. This serves two purposes โˆ’

sys.argv is the list of command-line arguments.

len(sys.argv) is the number of command-line arguments.

Here sys.argv[0] is the program ie. script name.

https://www.tutorialspoint.com/python/python_command_line_arguments.htm

13.video.create_capture :n OpenCV, a video can be read either by using the feed from a camera connected to a computer or by

reading a video file. The first step towards reading a video file is to create a VideoCapture object. Its argument can be either

the device index or the name of the video file to be read.

https://www.learnopencv.com/read-write-and-display-a-video-using-opencv-cpp-python/

14.cv.imshow ,cam.read() :https://www.learnopencv.com/read-write-and-display-a-video-using-opencv-cpp-python/

http://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_gui/py_video_display/py_video_display.html

15.prev.copy() :) Return a shallow copy of x.

https://docs.python.org/2/library/copy.html

16.cv.calcOpticalFlowFarneback: https://docs.opencv.org/2.4/modules/video/doc/motion_analysis_and_object_tracking.html

17.cv.dastroy all windows :

https://techtutorialsx.com/2017/04/30/python-opencv-reading-and-displaying-an-image/

  1. HSV flow VIsualization :

https://dsp.stackexchange.com/questions/2687/why-do-we-use-the-hsv-colour-space-so-often-in-vision-and-image-processing

https://www.reddit.com/r/opencv/comments/6g298p/understanding_hsv_optical_flow_visualization_with/

optical-flow_python's People

Contributors

ankitamd avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

annie1ustc

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.