General Idea:
For watermark like that can be removed by applying a mask over the image (most efficient way)
Recently I did a small project on topic like these, and you can find it here: https://github.com/ZingZing001/WaterMarkRemovalTool
The most important step in this process is that the program itself should be able to identify and remove the watermark correctly.
The logic and the pattern I used were:
Having two mask one through the RGB value and one through the HSV value
HSV Value:
If targeting a light-coloured watermark, the mask might have:
And for RGB Value Mask: (To remove coloured watermarks)
A pixel is considered part of the watermark if it matches either the RGB or HSV masks.