snibgo wrote:- provide traceability for stolen images.
I looked into that, but couldn't figure out (yet

) how the stegano command of im works - and it doesn't seem to work with convert in the same step anyway, so I can just resort to a dedicated program. I definitely want to add this if I post 100% res images somewhere.
snibgo wrote:
- brand images, eg embedding a photo credit;
- discourage use out of context;
Both of these

what makes it a real challenge and probably the reason why I couldn't find any samples. I'd like to apply both goals in
in different strengths by writing one method and then tuning the parameters (like leaving different exif information in according to intended use).
Branding my primary intention. A little hue might look nice and interesting like your "glass" sample, but I definitely don't want to turn green grass into magenta as this just looks broken.
Discouragement an additional extra. If it's low res, it's not very usable out of context anyway, but I'm paranoid enough to want to watermark high-res shots I post around the net. Of course it can be removed, but don't underestimate that a lot of photogs aren't computer geeks so a watermark beyond a simple luma mask can pose a big problem to them.
What's most challenging is to make it work for arbitrary natural background contrasts and textures. For brightness, I already added a detection to make it less obtrusive but still visible. But it still doesn't look even enough, too visible on plain surfaces and too invisible on very noisy ones. I just saw that im also returns the "standard deviation", so that's probably what I should use for the wm strength.
I'll be on the lookout for samples, thanks for your help - and I'm sure this thread might be valuable to a lot of people looking for a nice watermarking algorithm.