Skip to content

A Node-RED contrib node that provides image processing capabilities

License

Notifications You must be signed in to change notification settings

saksitkornsri/node-red-contrib-image-tools

 
 

Repository files navigation

node-red-contrib-image-tools

A Node-RED node to perform functions on images and decode barcodes.

Screenshots - to whet the appetite

Image processing...
Image_processing

Get image from internet...
kittens

Printing text...
printing_text printing_text

Barcode decoding...
barcode

FEATURES

  • Image node

    • Read image from file, http, base64 string or buffer
    • Print single or multi line text to an image
    • Over 40 image function built in with many more possible by using convolution kernels
    • Perform 1 or multiple (batch) images processes in each node
      • TIP: you can convert a function to batch JSON by clicking the button adjacent to the function dropdown field. Then simply edit the batch JSON into an array [{...},{...},{...}] to perform as many operations as needed in one go.
    • Create blank image by setting Image field to an object {"w":100,"h":100,"background":0}
    • All function parameters can be either fixed or passed in by msg/flow/global
    • Can output image data as a Jimp image, a buffer or base64 string.
    • All functions and parameters are self documenting - a tip under each item in the node editor helps the user
    • Partial (non animated) GIF loading & processing support (experimental)
  • Image viewer node

    • View images in the node-red editor (for preview / debug purposes)
    • Full credit to rikukissa and dceejay for the excellent node-red-contrib-image-output on which the "image viewer node" is heavily based. (Copy of MIT license included in src files as requested)
    • Features include ability to display a jimp image, buffer, file name, base64 string, Data URL, Image URL.
    • Works in Internet Explorer (IE11 tested)
  • Barcode Decode node

  • Other...

    • Built in examples.
      • In node-red, look under the hamburger menu >> import >> examples >> image tools

IMPORTANT - Breaking changes in V1

Version 1 has breaking change ~ vs ~ V0.x versions. Existing flows using the "2D Barcode Decode" node will need to be modified. The easy way of fixing this is to delete any "2D Barcode Decode" & deploy, then update the node, then re-add the new "Barcode Decode" nodes.

Alternatively, you can avoid this issue by performing the following steps...

  1. Upgrade node-red-contrib-image-tools
  2. Stop node-red
  3. Make a backup of your flow.json file
  4. Opening your flow.json file in a text editor
  5. Search / replace all instances of "type":"2D Barcode Decoder" with "type":"Barcode Decoder"
  6. Save and close your flow file
  7. Start node-red

Pre-requisites

None!

Install

Run the following command in the root directory of your Node-RED install. (Usually this is ~/.node-red or %userprofile%\.node-red).

Install from GIT

npm install Steve-Mcl/node-red-contrib-image-tools

Install from NPM

npm install node-red-contrib-image-tools 

Alternatively, install from a folder

npm install c:/tempfolder/node-red-contrib-image-tools

Or simply copy the folder node-red-contrib-image-tools into a folder named nodes inside your node-red folder then cd into nodes/node-red-contrib-image-tools and execute npm install

NOTES

  • Tested on Node V10 & V12 only. YMMV
  • Bugs are likely :)

KNOWN ISSUES

Clicking the preview image in IE doesn't dismiss it (works in chrome)

About

A Node-RED contrib node that provides image processing capabilities

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HTML 61.1%
  • JavaScript 38.9%