The future is awaiting with new threats. Terrorist attacks are increasing day by day. Tracking each and everything around us has come to a necessity. We cannot continue with the old usage of a person sitting in front of a huge number of monitors to track motions. So, we implement a change for the betterment of the world. We bring the automation with powerful OpenCV module and the innovation with the future tool of the world, Qt. We use the technique of video tracking to detect each and every motion of an object.
Video tracking is the process of locating a moving object (or multiple objects) over time using a camera. It has a variety of uses, some of which are: human-computer interaction, security and surveillance, video communication and compression, augmented reality, traffic control, medical imaging and video editing.
What is Qt ?
In a broader stroke, it is a set of comprehensive C++ libraries. I find it particularly helpful in creating Desktop GUI application, but it’s certainly not limited to that function. Qt is used mainly for developing application software with graphical user interfaces, however, programs without a GUI can be developed, such as command-line tools and consoles for servers.
Qt uses standard C++ with extensions including signals and slots that simplify handling of events, and this helps in the development of both GUI and server applications which receive their own set of event information and should process them accordingly. Qt supports many compilers, including the GCC C++ compiler and the Visual Studio suite. Qt also provides Qt Quick, that includes a declarative scripting language called QML that allows using JavaScript to provide the logic. Qt can be used in several other programming languages via language bindings. It runs on the major desktop platforms and some of the mobile platforms.Non-GUI features include SQL database access, XML parsing, JSON parsing, thread management and network support.
What is OpenCV ?
OpenCV (Open Source Computer Vision) is a library of programming functions mainly aimed at real-time computer vision. It has C++, C, Python and Java interfaces and supports most of the platform. OpenCV is designed for computational efficiency and with a strong focus on real-time applications. Written in optimised C/C++, the library can take advantage of multi-core processing.
What do we intend from this ?
The future generation will have to face devastation if we don’t build something in order to protect them.
We intend to create an API which can track the motion of a moving object. That way we could have our eyes on each and everything. In real life situation like, a railway station or other crowded area, if we implement this we can get each and every person’s motion to be monitored individually. Which allows us to notify any kind of misplace in people’s behaviour and get into action before something worse happens. In this way of tracking, the scope of this is not just limited to people. As the world has drastically changed and we could expect terrorist attacks even in forms of drone and missiles. Also, this application could help in many ways.
The Talk will consist of:
- Explanation on the algorithm used for Tracking.
- Different Algorithms which can be used, limitation and benefits of each.
- Familiarisation with framework like Qt and a library such as OpenCV.
- Different kind of Automation using OpenCV.
- Implementation and different Scope of Qt.
A desire to learn and try new stuff is mandatory.
I’m currently pursuing B.Tech in Computer Science at Amrita School of Engineering, Amritapuri. I am a FOSS enthusiast and FREEdom lover. I believe that well developed softwares can make a mark on the world hence I love to contribute to open source projects that would help in the betterment of the world and make our world a better place to live in.
As an Open Source Developer, I mostly work on KDE API’s and softwares. I was selected for Season of KDE 2016-2017 for a project related to the software called KStars. I spend my free time writing articles for magazines like Open Source for You.
{{ gettext('Login to leave a comment') }}
{{ gettext('Post a comment…') }}{{ errorMsg }}
{{ gettext('No comments posted yet') }}