Jak smazat logo z obrázku

Nástroje pro uměleckou i technickou grafiku, DTP, CAD

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod ivitek 14. 8. 2022 09:36

Mám dva stejné obrázky, na obou je logo, ale na každém obrázku je v jiném místě obrázku.
Existuje software, do kterého bych načetl ten pár obrázků, označil obě loga a on by vytvořil obrázek bez loga?
Není potřeba žádná sofistikovanost, jen prostě data pro část fotky, kterou označím jako logo zkopírovat z 2. obrázku.
Co jsem našel na Googlu většinou počítá jen s 1 fotkou a snaží se nějak "domyslet" chybějící data po smazání loga...
Za odpovědi předem děkuji
How does unix guru make sex?
unzip, strip, touch, finger, mount, fsck, more, yes, umount, sleep
ivitek
Junior

Odeslat příspěvekod milsimr 14. 8. 2022 09:52

Na tohle stačí i základní Malování, když si s tím člověk dá trošku práce.
Administrátor fóra Živě.cz.
milsimr
Administrátor
Uživatelský avatar

Odeslat příspěvekod ivitek 14. 8. 2022 10:02

Právě, nechci si s tím dávat práci, ale nějak to víc automatizovat...
How does unix guru make sex?
unzip, strip, touch, finger, mount, fsck, more, yes, umount, sleep
ivitek
Junior

Odeslat příspěvekod milsimr 14. 8. 2022 10:14

Pokud fakt hledáš SW typu "Spustit, nahrát dva soubory a voila" tak to máš smůlu.
Administrátor fóra Živě.cz.
milsimr
Administrátor
Uživatelský avatar

Odeslat příspěvekod ivitek 14. 8. 2022 12:03

To logo je vlastně jen nápis bílou barvou, tak jsem to nakonec vyřešil šalamounsky v Pythonu
(tam kde se barva pixelu mezi obrázky neshoduje, použij tu, která není bílá (RGB [255,255,255]) ;-))
A to už se pro tento typ loga automatizovat dá... (nebo si hrát s rozsahy [w, h] obrázku kde se má co nahrazovat)

Kód: Vybrat vše
# -*- coding: utf-8 -*-

from PIL import Image

first_image = Image.open('1.jpg', 'r')
second_image = Image.open('2.jpg', 'r')
fw, fh = first_image.size
first_pix = first_image.load()
second_pix = second_image.load()

for w in range(fw):
    for h in range(fh):
        if first_pix[w,h] != second_pix[w,h]:   # [255,255,255] vs. [132,4,12]
            if sum(first_pix[w,h]) > sum(second_pix[w,h]):
                first_pix[w,h] = second_pix[w,h]  # přepíše barvu v daném pixelu

first_image.save('1-NEW.jpg', "JPEG")
How does unix guru make sex?
unzip, strip, touch, finger, mount, fsck, more, yes, umount, sleep
ivitek
Junior


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků