This book is on the writing process by Balige Publishing Team.
Vivian Siahaan and Rismon Hasiholan Sianipar
Balige City
The first project in chapter one which is Canny Edge Detector presented here is a graphical user interface (GUI) application built using Tkinter in Python. This application allows users to open video files (of formats like mp4, avi, or mkv) and view them along with their corresponding Canny edge detection frames. The application provides functionalities such as playing, pausing, stopping, navigating through frames, and jumping to specific times within the video.
This second project in chapter one implements a graphical user interface (GUI) application for performing edge detection using the Prewitt operator on videos. The purpose of the code is to provide users with a tool to visualize videos, apply the Prewitt edge detection algorithm, and interactively control playback and visualization parameters.
The third project in chapter one which is "Sobel Edge Detector" is implemented in Python using Tkinter and OpenCV serves as a graphical user interface (GUI) for viewing and analyzing videos with real-time Sobel edge detection capabilities.
The "Frei-Chen Edge Detection" project as fourth project in chapter one is a graphical user interface (GUI) application built using Python and the Tkinter library. The application is designed to process and visualize video files by detecting edges using the Frei-Chen edge detection algorithm.
The "KIRSCH EDGE DETECTOR" project as the fifth project in chapter one is a Python application built using Tkinter, OpenCV, and NumPy libraries for performing edge detection on video files. It handles the visualization of the edge-detected frames in real-time. It retrieves the current frame from the video, applies Gaussian blur for noise reduction, performs Kirsch edge detection, and applies thresholding to obtain the binary edge image. The processed frame is then displayed on the canvas alongside the original video.
This "SCHARR EDGE DETECTOR" as the sixth project in chapter one is creating a graphical user interface (GUI) to visualize edge detection in videos using the Scharr algorithm. It allows users to open video files, play/pause video playback, navigate frame by frame, and apply Scharr edge detection in real-time.
The first project in chapter two is designed to provide a user-friendly interface for processing video frames using Gaussian filtering techniques. It encompasses various components and functionalities tailored towards efficient video analysis and processing. The GaussianFilter Class serves as the backbone of the application, managing GUI initialization and video processing functionalities. The GUI layout is constructed with Tkinter widgets, comprising two main panels for video display and control buttons. Key functionalities include opening video files, controlling playback, adjusting zoom levels, navigating frames, and interacting with video frames via mouse events. Additionally, users can process frames using OpenCV for Gaussian filtering to enhance video quality and reduce noise. Time navigation functionality allows users to jump to specific time points in the video. Moreover, the application supports multiple instances for simultaneous video analysis in independent windows. Overall, this project offers a comprehensive toolset for video analysis and processing, empowering users with an intuitive interface and diverse functionalities.
The second project in chapter two presents a Tkinter application tailored for video frame filtering utilizing a mean filter. It offers comprehensive functionalities including opening, playing/pausing, and stopping video playback, alongside options to navigate to previous and next frames, jump to specified times, and adjust zoom scale. Displayed on separate canvases, the original and filtered video frames are showcased distinctly. Upon video file opening, the application utilizes imageio.get_reader() for video reading, while play_video() and play_filtered_video() methods handle frame display....