Project Overview: Image-Processing-Node-Editor
The Image-Processing-Node-Editor is an innovative application designed to simplify and streamline image processing tasks using a node editor framework. Created with user needs in mind, this tool is ideal for those seeking to test and compare different image processing techniques seamlessly.
Main Features
- Node-Based Interface: Users can visually create and manipulate image processing workflows by connecting different nodes.
- Extensive Node Library: Although nodes are added as needed, the application allows users to perform a wide range of image processing tasks such as blur, brightness adjustment, edge detection, contrast enhancement, and more.
Installation Options
Setting up the Image-Processing-Node-Editor is flexible, offering several methods to suit user preferences:
-
Direct Script Execution:
- Clone the repository using
git clone https://github.com/Kazuhito00/Image-Processing-Node-Editor
. - Install necessary packages with
pip install -r requirements.txt
. - Start the application with
python main.py
.
- Clone the repository using
-
Using Docker: Follow instructions from the Image-Processing-Node-Editor/docker/nvidia-gpu for Docker setup.
-
Windows Executable: Simply download the
ipn-editor_win_x86_64.zip
file from the releases page and executemain.exe
. -
Pip Installation: Install via pip in a virtual environment to ensure future directory naming issues won't disrupt the setup. Begin by installing build tools and then use pip to install directly from the GitHub repository.
Application Usage
To launch the application, run:
python main.py
Key options include specifying a setting file for node sizes and video settings (--setting
) and choosing to disable asynchronous drawing for advanced troubleshoot (--unuse_async_draw
).
Workflow Management
- Creating Nodes: Choose a desired node from the menu and click to add it to the editor.
- Connecting Nodes: Easily drag output terminals to corresponding input terminals to establish connections.
- Node Deletion: Select nodes and press the "Del" key to remove them.
- Export/Import Settings: Save and load node settings using JSON files, facilitating easy sharing and setup replication.
Node Types
The application supports various node types categorized into input nodes, process nodes, and deep learning nodes:
-
Input Nodes: Capable of handling images, videos, webcams, RTSP streams, and even basic integer and float values.
-
Process Nodes: Include operations like color mapping, blurring, brightness control, edge detection (Canny), and gamma correction, among others.
-
Deep Learning Nodes: Designed for advanced tasks like image classification, leveraging models specified through the application's interface.
Supported Software and Libraries
The application requires robust software environments, ensuring compatibility and leveraging powerful libraries such as OpenCV, onnxruntime (GPU), Dear PyGui, MediaPipe, and more.
Conclusion
Image-Processing-Node-Editor stands as a versatile and accessible platform for executing diverse image processing workflows. It effectively bridges practicality with technical capability, allowing users from various fields to explore and implement image processing techniques without needing to delve deep into code intricacies. Whether you're in academia, technology, or creative industries, this tool promises to simplify and enhance your image processing tasks.