You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An application that performs image processing with the node editor.
It is used for processing verification and comparison.
Note
Since the nodes are added in the order in which the author(Takahashi) needs them,
There may be a shortage of nodes responsible for basic processing in image processing.
opencv-python 4.5.5.64 or later
onnxruntime-gpu 1.12.0 or later
dearpygui 1.11.0 or later
mediapipe 0.8.10 or later ※Required to run mediapipe node
protobuf 3.20.0 or later ※Required to run mediapipe node
filterpy 1.4.5 or later ※Required to run MOT(motpy) node
Installation
Please prepare the environment by one of the following methods.
Use pip installation ※The installed directory names will be "node" and "node_editor", so I plan to fix them in the future. →When using pip, it is strongly recommended to install in a virtual environment such as venv.
Specify the GitHub repository and pip install pip install git+https://github.com/Kazuhito00/Image-Processing-Node-Editor
Start the application with the following command ipn-editor
Usage
Here's how to run the app.
python main.py
--setting
Specifying the configuration file path that describes the node size and VideoWriter settings
Default:node_editor/setting/setting.json
--unuse_async_draw
Do not use asynchronous drawing →Perform GUI event loop and node update process in series *For investigating the cause of abnormal node termination, etc.
Default:unspecified
Create Node
Select the node you want to create from the menu and click
Connect Node
Drag the output terminal to connect to the input terminal
Only the same type set for the terminal can be connected
Delete Node
With the node you want to delete selected, press the "Del" key
Export
Press "Export" from the menu and save the node settings(json file)
Import
Read the node settings(json file) output by Export
Node
Input Node
Image
Node that reads still images (bmp, jpg, png, gif) and outputs images
Open the file dialog with the "Select Image" button
Video
A node that reads a video (mp4, avi) and outputs an image for each frame
Open the file dialog with the "Select Movie" button
Check "Loop" to play the video in a loop
"Skip rate" sets the interval for skipping the output image.
Video(Set Frame Position)
A node that reads a video (mp4, avi) and outputs an image at the specified frame position
Open the file dialog with "Select Movie" button
WebCam
A node that reads a webcam and outputs an image for each frame
Specify the camera number in the Device No drop-down list
RTSP
A node that reads the RTSP input of a network camera and outputs an image for each frame
Int Value
Node that outputs an integer value
Float Value
Node that outputs the float value
Process Node
ApplyColorMap
A node that applies pseudo color to the input image and outputs a pseudo color image
Blur
A node that executes smoothing processing on the input image and outputs the smoothed image
Brightness
A node that executes brightness adjustment processing on the input image and outputs the brightness adjustment image
Brightness adjustment value can be changed with the "alpha" slide bar
Canny
A node that executes edge detection processing using the Canny method on the input image and outputs the edge detection image.
Specify the minimum and maximum thresholds with the slider
Contrast
A node that executes contrast adjustment processing on the input image and outputs the contrast adjustment image.
Contrast adjustment value can be changed with the "beta" slide bar
Crop
A node that performs cropping of the input image and outputs the cropped image
Upper left coordinates(x1, y1) and upper right coordinates(x2, y2) can be changed with the slider
EqualizeHist
Node that performs histogram flattening of the brightness part of the input image and outputs the image
Flip
A node that performs horizontal/vertical inversion to the input image and outputs the image
Gamma Correction
A node that performs gamma correction on the input image and outputs the image
Gamma value can be changed with the slider
Grayscale
A node that grayscales the input image and outputs the image
Threshold
A node that binarizes the input image and outputs the image
Specify the binarization algorithm with "type"
Change threshold with "threshold"
In "type", "Otsu binarization (THRESH_OTSU)" is an automatic threshold determination algorithm, so the "threshold" value is ignored.
Simple Filter
A node that performs 3x3 2D filtering processing on the input image and outputs the image
Omnidirectional Viewer
A node that transforms an input image(360-degree image) with the specified roll, pitch, and yaw axes and outputs the image
The input image is assumed to be an equirectangular projection image
Resize
A node that resizes the input image with the specified height, width and interpolation method and outputs the image.
Deep Learning Node
You can specify the model in the drop-down list and change the device at the time of inference with the CPU / GPU checkbox.
If the model does not support GPU inference, checking GPU will still result in CPU inference
Refer to each directory of "node/deep_learning_node/XXXXXXXX" for the license of the model used by the node.
Classification
Node that performs classification on the input image
The output image is a raw image
Performs classification on the bounding box when an Object Detection node is connected
Face Detection
Node that performs face detection on the input image
The output image is a raw image
Low-Light Image Enhancement
A node that performs Low-Light Image Enhancement on the input image
The output image is an image with Low-Light Image Enhancement applied.
Monocular Depth Estimation
A node that performs monocular depth estimation on the input image
The output image is a grayscale image to which monocular depth estimation is applied.
Object Detection
Node that performs object detection on the input image
The output image is a raw image
Pose Estimation
Node that performs attitude estimation for the input image
The output image is a raw image
Semantic Segmentation
Node that performs semantic segmentation on the input image
The output image is a raw image
QR Code Detection
Node that executes QR code detection for the input image
The output image is a raw image
Analysis Node
FPS
A node that calculates FPS based on the processing time(ms) of the node
Processing time input terminal can be added with "Add Slot"
RGB Histgram
Node that calculates the histogram of each RGB channel of the input image and displays it in the graph
BRISQUE
A node that evaluates image quality using BRISQUE
* The higher the number, the worse
Draw Node
Draw Information
Draw the analysis result for the image of the node that outputs the raw image such as Classification node and Object Detection node.
Image Concat
Node that displays multiple input images side by side
Image input terminal can be added with "Add Slot"
PutText
A node that draws text in the upper left of the input image
Drawing color can be selected in the color map
By connecting the processing time input terminal, the processing time is also drawn.
Result Image
Node to display the image
Display larger than the processing node
Also, if you connect a node that outputs raw images such as a Classification node or Object Detection node, the analysis result will be added and drawn.
Result Image(Large)
Larger than the Result Image node
Other Node
ON/OFF Switch
Node to switch whether to output the input image or not
Video Writer
Node to export the input image as a video
Output destination, output size, FPS are specified in "setting.json"
Preview Release Node
Nodes whose specifications may change significantly in the future
MOT
Node that inputs an Object Detection node and executes MOT(Multi Object Tracking)
Exec Python Code
Node that executes Python code
The variable for the input image is "input_image"
The variable for the output image is "output_image"
Screen Capture
Node that captures and outputs the desktop full screen
Node(Other repository)
It is a node published in other repositories.
To use it with Image-Processing-Node-Editor, follow the installation instructions for each repository.
Node that reads YouTube and outputs images
Please specify the URL of the YouTube video in the URL field and press the "Start" button
It will take some time before playback starts
Specify the YouTube loading interval with "Interval(ms)"
ToDo
Investigating the problem that the graph part of the RGB Histgram node is always in the foreground
Investigating the problem that the connection line remains when deleting a node that connects multiple nodes
Improved behavior that the import feature can only be used before adding a node
IThe source code of mage-Processing-Node-Editor itself is Apache-2.0 license, but
The source code for each algorithm is subject to its own license.
For details, please check the LICENSE file included in each directory.