Similar question here but for Tex -document. Imagemagick shows ways of watermarking here but not how to do it as invisible as possible. I currently just obfuscate some functional elements into photos so extremely hard to remove, without distorting the image itself. Is there some commandline tool to add invisible watermark to images, something like to check with microscope perhaps but still readable? I have a massive tree of images (of very different variety so watermark should adopt to env etc) -- some commandline tool to add watermarks fast invisibly on every photo?
I believe what you're looking for is steganography, a way to hide a message in otherwise innocent-looking content.
There doesn't seem to be a wealth of tools out there for this on Linux, but outguess1 and steghide2 would do what you want. openstego is another one, but it does not appear to have a command line interface (Java GUI - could probably be adapted).
Source image (from Tux.svg):
Image with your question hidden inside it:
The images are different if you look closely, but it's pretty much as if the second one had been generated with a higher JPEG compression level. The fact that the complete text of your question is mixed in (and password protected) isn't noticeable visually at all.
1old, but builds just fine.
There must be a way to embed a quite stable watermark into the image, DigiMark does it e.g. in Photoshop filters - so why shouldn't a command line tool be able to do as well?
This is no solution, but an idea how it may work... if you create an invisible watermark on a blank white image and blend the resulting code into any other image, the watermark-reader is able to extract the wartermark from the resulting image again - even when modified/cropped or printed and photographed again.
So actually batch adding a given watermark gradients code won't be the problem - rather finding an appropriate signing algorithm and sotware to extract the watermark.