Enabling IP Camera in-built modules for better monitoring and control
- Automatic detection of the connected surveillance devices to be enabled as a list
- Modify the code to utilise GPU resources (if available) to reduce time complexity
Sample images of the GUI
Pro Tip: Press 'q' to release the connected suveillance device from capturing input for the selected module / feature
The code is developed with Python ver.3.8 and pip
ver.21.0.1 in Windows OS and the same is tested on linux OS too. The necessary packages and frameworks can be installed from the Requirements directory. However, one can follow the below mentioned steps in case of any errors.
pip install -r requirements.txt
Firstly, check the version of Python on your system using:
python --version
If you wish to change / upgrade the version or install Python afresh, visit https://www.python.org/downloads/.
pip
is a package-management system written in Python used to install and manage software packages. It connects to an online repository of public packages, called the Python Package Index. pip can also be configured to connect to other package repositories. One can check pip
version using:
pip --version
If you wish to install pip
afresh, do:
python3 -m pip install --upgrade pip
or
sudo apt install python3-pip
Installing the necessary packages and depencies is a pre-requisite. The setup itself varies according to the OS, though the code is really the same. Yet, the GUI is builded with different libraries in runtime, hence it results in differrent appearances of the same GUI accroding to OSs.
Windows OS
The tkinter
package (“Tk interface”) is the standard Python interface to the Tk GUI toolkit. The Tk interface
is located in a binary module named _tkinter
. It is usually a shared library (or DLL), but might in some cases be statically linked with the Python interpreter. The cffi
module is used to invoke callback
methods inside the program.
pip install tk
python3 -m pip install cffi
Pillow
is a Python Imaging Library (PIL
), which adds support for opening, manipulating, and saving images. The current version identifies and reads a large number of formats. It supports wide variety of images such as “jpeg”, “png”, “bmp”, “gif”, “ppm”, “tiff”.
python3 -m pip install --upgrade Pillow
OpenCV
is a huge open-source library for computer vision, machine learning, and image processing. OpenCV
supports a wide variety of programming languages like Python, C++, Java, etc. It can process images and videos to identify objects, faces, and so on. The library has more than 2500 optimized algorithms, which includes a comprehensive set of both classic and state-of-the-art computer vision and machine learning algorithms.
pip install opencv-python
NumPy
is a library for the Python programming language, adding support for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these arrays. By reading the image as a NumPy
array ndarray, various image processing can be performed using NumPy functions.
pip3 install numpy
Imutils
are a series of convenience functions to make basic image processing functions such as translation, rotation, resizing, skeletonization, and displaying Matplotlib images easier with OpenCV
in Python.
pip3 install imutils
Linux OS
The tkinter
package (“Tk interface”) is the standard Python interface to the Tk GUI toolkit. The Tk interface
is located in a binary module named _tkinter
. It is usually a shared library (or DLL), but might in some cases be statically linked with the Python interpreter. The cffi
module is used to invoke callback
methods inside the program.
apt-get install python-tk
sudo apt-get install python-setuptools
sudo apt-get install -y python-cffi
Pillow
is a Python Imaging Library (PIL
), which adds support for opening, manipulating, and saving images. The current version identifies and reads a large number of formats. It supports wide variety of images such as “jpeg”, “png”, “bmp”, “gif”, “ppm”, “tiff”.
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade Pillow
OpenCV
is a huge open-source library for computer vision, machine learning, and image processing. OpenCV
supports a wide variety of programming languages like Python, C++, Java, etc. It can process images and videos to identify objects, faces, and so on. The library has more than 2500 optimized algorithms, which includes a comprehensive set of both classic and state-of-the-art computer vision and machine learning algorithms.
sudo apt-get install python3-opencv
NumPy
is a library for the Python programming language, adding support for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these arrays. By reading the image as a NumPy
array ndarray, various image processing can be performed using NumPy functions.
pip3 install numpy
Imutils
are a series of convenience functions to make basic image processing functions such as translation, rotation, resizing, skeletonization, and displaying Matplotlib images easier with OpenCV
in Python.
pip3 install imutils