ComfyQR Introduction
ComfyQR is an extension designed to help AI artists create dynamic QR code images directly within the ComfyUI environment. This tool simplifies the process of generating QR codes by providing a set of nodes that can be used to create intricate QR patterns without the need to leave the web interface. Whether you're looking to embed QR codes into your artwork or generate unique QR designs, ComfyQR offers a streamlined solution.
The primary focus of ComfyQR is on pattern creation, making it easier for artists to integrate QR codes into their generative art projects. Additionally, for those who need to ensure the scannability of their QR codes, the companion project ComfyQR-scanning-nodes (https://gitlab.com/sofuego-comfy-nodes/ComfyQR-scanning-nodes) provides more advanced tools for QR code validation.
How ComfyQR Works
ComfyQR operates by providing nodes within ComfyUI that allow you to generate and manipulate QR codes. Think of these nodes as building blocks that you can connect to create complex QR patterns. Each node has specific inputs and outputs that you can customize to fit your needs.
For example, you can input the text you want to encode, choose the size and color of the QR code, and even select different shapes for the QR modules (the small squares that make up the QR code). The nodes then process this information and generate a QR code that you can use in your artwork.
ComfyQR Features
QR Code and QR Code (Split)
These nodes generate dynamically sized QR codes based on the length of the text, module size, and error correction level. The QR Code
node is ideal for simple workflows, while the QR Code (Split)
node is better for advanced pipelines, providing additional outputs for different QR code layers.
- protocol: Adds a prefix to the text to represent the internet protocol (e.g., "http://", "https://").
- text: The text to encode in the QR code.
- module_size: The pixel width of the smallest unit of the QR code.
- max_image_size: The maximum size of the resulting QR code.
- fill_hexcolor: The color of the QR modules in hexadecimal format.
- back_hexcolor: The background color around the QR modules in hexadecimal format.
- error_correction: The level of error correction (Low, Medium, Quartile, High).
- border: The border size around the QR code.
- module_drawer: The shape of the QR code modules (e.g., square, circle).
Outputs
- QR_CODE: The generated QR code.
- MODULE_LAYER: The QR code with the background color filling in the function patterns.
- FINDER_LAYER: The isolated finder patterns over the background color.
- FINDER_MASK: A mask that isolates the locations of the finder patterns.
- QR_VERSION: The version of the QR code based on text length and error correction level.
- IMAGE_SIZE: The pixel width of the resulting QR code.
This node generates a QR code fixed to specific output dimensions through image resampling.
- protocol: Adds a prefix to the text to represent the internet protocol.
- text: The text to encode in the QR code.
- image_size: The pixel dimensions to conform the QR code to.
- fill_hexcolor: The color of the QR modules in hexadecimal format.
- back_hexcolor: The background color around the QR modules in hexadecimal format.
- error_correction: The level of error correction.
- border: The border size around the QR code.
- resampling: The resampling algorithm to use when rescaling the QR code (e.g., Bicubic, Bilinear).
Outputs
- QR_CODE: The generated QR code.
- QR_VERSION: The version of the QR code based on text length and error correction level.
Mask QR Errors
This node analyzes the differences between a modified QR code and the original, creating a mask of the estimated errors. This is useful for ensuring the scannability of QR codes.
- source_qr: The original QR code.
- modified_qr: The modified QR code to evaluate.
- module_size: The size of each QR module in pixels.
- grayscale_method: The method to convert RGB to grayscale (mean, luminance).
- aggregate_method: How to aggregate pixels within each module (mean).
- evaluate: Which part of the QR to examine (full_qr, module_pattern, finder_pattern).
- error_difficulty: The threshold for error detection.
- inverted_pattern: Indicates if the QR code has inverted colors.
- gamma: Influences the grayscale conversion formula.
Outputs
- QR_ERROR_MASK: A mask highlighting the locations of modules with errors.
- PERCENT_ERROR: The percentage of modules with errors.
- CORRELATION: The Pearson correlation coefficient between the source and modified QR codes.
- RMSE: The root mean squared error between the source and modified QR codes.
ComfyQR Models
ComfyQR does not have different models but offers various nodes with customizable settings to generate QR codes. Each node can be tailored to produce different styles and sizes of QR codes, allowing for a high degree of flexibility in your projects.
Troubleshooting ComfyQR
Common Issues and Solutions
- QR Code Not Scanning:
- Ensure the error correction level is set appropriately.
- Check that the module size is not too small.
- Verify that the fill and background colors have sufficient contrast.
- Image Size Exceeds Maximum Limit:
- Adjust the
module_size
or max_image_size
inputs.
- Reduce the length of the text being encoded.
- Color Issues:
- Make sure the hex color values are correctly formatted.
- Use colors that provide a clear distinction between the QR modules and the background.
Frequently Asked Questions
- How do I change the shape of the QR modules?
- Use the
module_drawer
input to select different shapes like square, circle, or rounded.
- What is the best error correction level to use?
- It depends on the complexity of your design. Higher error correction levels (Quartile, High) provide better scannability but result in larger QR codes.
Learn More about ComfyQR
For additional resources, tutorials, and community support, you can visit the following links:
- ComfyQR GitLab Repository (https://gitlab.com/sofuego-comfy-nodes/ComfyQR)
- ComfyQR GitHub Mirror
- ComfyQR Scanning Nodes (https://gitlab.com/sofuego-comfy-nodes/ComfyQR-scanning-nodes)
Explore the examples directory in the repository for workflow examples and inspiration. You can also find metadata in the example generations folder to see how different settings affect the final output.
By leveraging these resources, you can enhance your understanding of ComfyQR and create stunning generative QR art with ease.