Skip to content

Robustness for masking #1

Description

@skinkie

After a day of research this implementation seems to be the first piece of python code that manages to deliver a scale invariant robust watermark solution where resizing of an image does not create direct problems, and works fast. Just wow. Very cool.

I do notice a problem where I wonder if this could be resolved with some additional magic. Given that the features within the image matched between image, my assumption is that there should be more than enough room where information could be embedded.

matches

imageWithWatermark

I wanted to try if I could extend the grayDecoder and grayEncoder with Reed-Solomon. For this I have shrunken down the watermark one column/row, added recovery bits to fill up the matrix, but I was not able to get this to work at this specific location. Technically my implementation only reordered the matrix, but this did not give resilience either.

imageWithWatermark

I have also added the Reed-Solomon code into the image itself (20 symbols). But by itself it cannot restore the input.

imageWithWatermark

imageWithWatermark

The image uses 4 areas of 1024 bytes to encode the watermark, this could obviously be increased by adding more divisions, but since there are more regions, why not holistically use all the regions as an ensemble?

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions