I have a task to extract watermark itself from a highly complex image. Below there is an example. We have, say this image:


Then we have some watermark like this one which is either transparent or white(black added for visibility here)


So we apply the watermark on the image with 5-10% opacity and get the resulting image.

Resulting image

So the question is whether it is possible to extract the watermark from the resulting image NOT having the original image. The result shouldn't be precise but the meaning of the watermark(that there is a person, sun, house, numbers, fish and a word) must be obtained. I have tried using photoshop and played with all different kinds of adjustments but I am able to obtain only pieces which are above some even background like parts of the word visible over the water. I am not asking for a complete solution because there seems to be no practical way but I am seeking for help and ideas in determining best practices to extract the watermark. All ideas appreciated!

closed as off-topic by Arminius, John Wu, Xander, DKNUCKLES, schroeder Mar 14 '17 at 8:10

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "This question does not appear to be about Information security within the scope defined in the help center." – Arminius, DKNUCKLES, schroeder
If this question can be reworded to fit the rules in the help center, please edit the question.

  • Tried increasing contrast? – Starlord Mar 13 '17 at 21:57
  • 1
    Can you explain why this security related? If not, it should go on another site. – Jan Doggen Mar 13 '17 at 22:05
  • Would it be adequate to have code that tests for a known watermark (or set of watermarks)? – John Wu Mar 13 '17 at 22:44
  • Used this stack exchange because this is the only stack exchange where people are aware of steganography. As well, the purpose of this problem is closely related with forensics. – tna0y Mar 14 '17 at 0:43
  • Yes, tried doing this with contrast, moved around levels and even created a python script which, given the expected watermark opacity highlights places where the brightness delta between neighbouring pixels corresponds to the expected brightness increase. It all gives about 15-30% of desired result. – tna0y Mar 14 '17 at 0:47