ImageEn for Delphi and C++ Builder ImageEn for Delphi and C++ Builder

 

ImageEn Forum
Profile    Join    Active Topics    Forum FAQ    Search this forumSearch
 All Forums
 ImageEn Library for Delphi, C++ and .Net
 ImageEn and IEvolution Support Forum
 How to add invisible water marking in images

Note: You must be registered in order to post a reply.
To register, click here. Registration is FREE!

View 
UserName:
Password:
Format  Bold Italicized Underline  Align Left Centered Align Right  Horizontal Rule  Insert Hyperlink   Browse for an image to attach to your post Browse for a zip to attach to your post Insert Code  Insert Quote Insert List
   
Message 

 

Emoji
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Black Eye [B)]
Frown [:(] Shocked [:0] Angry [:(!] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

 
Check here to subscribe to this topic.
   

T O P I C    R E V I E W
yogiyang Posted - Jan 16 2021 : 00:02:42
Hello,

I have a need to implement a feature for use in which the user can add an invisible watermark in image that they create.

On researching regarding this on the internet I came across an article that explains that OpenCV can be used to add invisible watermarks to images.

And IEVision is based on OpenCV( if I am not wrong).

So how can we implement this feature?

TIA

Yogi Yang
6   L A T E S T    R E P L I E S    (Newest First)
yogiyang Posted - Jan 23 2021 : 06:01:31
Hello Nigel,

Thanks for the code sample.

I will test it and get back if I have any other queries.

TIA

Yogi Yang
xequte Posted - Jan 20 2021 : 23:01:33
Hi Yogi

Here is a simple test I did using the demo:

\Demos\ImageAnalysis\ImagesDiff\ImagesDiff.dpr


procedure TMainForm.test1Click(Sender: TObject);
begin
  Tile;
  image1.imageenview1.IO.LoadFromFile('D:\src.jpg');
  image2.imageenview1.IO.LoadFromFile('D:\out-2perc.jpg');
  image1.ImageEnView1.Fit;
  image2.ImageEnView1.Fit;
  PerformCompare();
  
  // Stretch result so easier to see
  diffs.ImageEnView1.Proc.AutoImageEnhance3( 1.0 );
end;



Here are the two source images (second one has white text drawn at 2% opacity by merging a text layer):






Here is the difference view:




Of course, being a JPEG there are encoding artifacts. If you use PNG the difference is much more crisp:




This is just a simple example. You could code a better solution by iterating through the scanlines and doing a more targeted comparison.

Nigel
Xequte Software
www.imageen.com
yogiyang Posted - Jan 20 2021 : 01:56:25
Hello Nigel,

Can we achieve this using IE I mean comparing watermark applied to an image with actual watermark PNG file?

Can you share some source sample please?

TIA

Yogi Yang
xequte Posted - Jan 18 2021 : 17:45:17
Hi Yogi

Yes, there are a number of discussions on the web of the best way to do this. Generally, you would avoid easily circumventable options like meta-data. If you overlay an almost transparent image over the image then that is invisible to the naked eye, but can be detected by comparing the watermarked image with the source.

Nigel
Xequte Software
www.imageen.com
yogiyang Posted - Jan 18 2021 : 06:59:31
Hello Nigel,

What I am looking for is a way to watermark an image and later read the watermark back to prove the ownership of the image creator.

TIA

Yogi Yang
xequte Posted - Jan 16 2021 : 16:26:48
Hi Yogi

IEVision includes many OpenCV features, but not all of them. More likely you can do this using standard ImageEn. What method are you looking to use insert the invisible watermark. Generally it is done by overlaying an almost completely transparent watermark image.

Nigel
Xequte Software
www.imageen.com