Nevím, jestli je PHP zrovna vhodný nástroj pro něco takového

Jde to řešit tak, že se obrázky stejného zboží vzájemně maskují, výsledná maska se potom porovnává s ostatními maskami od stejného e-shopu, čímž se celkem snadno dá získat ten vodoznak (a pokud je to skutečně vodoznak, ne přetisk, tak ho invertováním té masky jde i odstranit). Lepší řešení by ty masky ještě prohánělo detekcí hran, pak by to zvládalo odhalit i vodoznak či přetisk, který by se různě posouval, otáčel, opakoval, případně i kroutil. Rozhodně to není nic, co byste jednorázově aplikoval při stahování obrázku. A nečekejte, že vám tohle ušetří místo, pomocná data pro ty výpočty budou dost velká

Můžete zkusit jednoduché řešení, že pokud dva obrázky stejného zboží ze dvou e-shopů jsou podobné nad určitý práh, tak jsou pravděpodobně bez vodoznaku. Ale pokud víc e-shopů používá podobný vodoznak, tak to vybere chybný obrázek, a pokud jsou jen dva obrázky, tak to nedokáže odhalit, který z nich má vodoznak.