Let's try to logically track the meaning of this question. Watermarking is used for protection of the property of the author of the picture. If you are the author, you always have an original non-watermarked image. What would be the reason for "de-watermarking"? Removal of the author's watermark. Why? My guess would be: for the purpose of cheating. I don't say "for stealing of some property", because I cannot be 100% sure, but it looks certain certain to me that it's cheating. As the author watermarked the image on purpose, removing this information would conceal the attribution of the image, which I call cheating.
We're not supposed to assist in illegal or at least morally questionable activity.
However, I would be quite happy if you proof me wrong.
[EDIT]
OK, a comment to the comment my Manfred says that this is your water-marking application.
But in this case, the question is completely pointless. The only reasonable way to "de-watermark" is to preserve the image before watermarking and replace a water-marked image with the original one. Not only doing anything else is practically or in most cases even theoretically
impossible, but it also
never needed in any legitimate activity.
I explained why it is not needed for any legitimate purpose above, now let me explain impossibility part.
Ever heard of information entropy (
http://en.wikipedia.org/wiki/Information_entropy[
^])? By adding a watermark you increase the entropy to the original image, so the original image cannot be restored because entropy processes are irreversible.
Consider a simple extreme example: a copyright text is made of fixed color, fully opaque. In this case, you simply replace some pixels of the original image with pixels of the text color. The original information about the replaced pixels is completely lost and cannot be restored. The "de-watermarking" software can only "reinvent" the lost pixels, which can never be done with sufficient quality in all cases. In the general case, this is plain impossible task.
Even when a text is done nearly invisible and could only be revealed using your software, it does not make this problem solvable. More exactly, in some special cases of very trivial water-marking algorithms it is possible to totally restore the original image (simple example: blending a text with fixed color and transparency with medium-contrast part of the image), but such trivial algorithms defeat the purpose of water-marking, so considering them makes no sense. It is possible to design a water-marking algorithm which is
infeasible to invert, I'll guarantee that. Doing so is not even difficult; and only such algorithms are useful for watermarking.
Thank you,
—SA