Grafický vyber z obrázku – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Grafický vyber z obrázku – Python – Fórum – Programujte.comGrafický vyber z obrázku – Python – Fórum – Programujte.com

 

Martin
~ Anonymní uživatel
1602 příspěvků
16. 11. 2020   #1
-
0
-

Zdravím mal by som otázku. pracujem v pythone na malom projekte a potreboval by som poradiť, existuje možnosť ako by som mohol vyberať miesto z obrázku v grafickom režime ? Teraz nehovorím o príkaze napríklad 
obr1a = obr1.crop((50, 50, 150, 120)).

Ale o plnohodnotnej možnosti spustiť program od pythonu ktorý si vyberie obrázok mnou zadaný a zobrazí mi ho a ja ci už kliknem povedzme do ľavého horného a pravého dolného rohu alebo obtiahnem oblasť ktorú chcem vybrať tak túto plochu vyberie a ja naďalej s touto plochou môžem pracovať. Za odpoveď vopred ďakujem. 

Nahlásit jako SPAM
IP: 95.103.112.–
gna
~ Anonymní uživatel
1891 příspěvků
16. 11. 2020   #2
-
0
-

Nevím, co přesně tím myslíš, ale obecně můžeš reagovat na různé události a implementovat tak výběr oblasti.

import tkinter as tk
import tkinter.filedialog as fd


def main():
    root = tk.Tk()
    canvas = tk.Canvas(root, width=640, height=480)
    canvas.pack()

    image = canvas.create_image(0, 0, anchor=tk.NW)
    selrect = canvas.create_rectangle(0, 0, 0, 0)

    filename = fd.askopenfilename(filetypes=[("GIF images", ".gif")])
    if filename:
        img = tk.PhotoImage(file=filename)
        canvas.itemconfig(image, image=img)

    def selstart(event):
        canvas.coords(selrect, event.x, event.y, event.x, event.y)

    def selupdate(event):
        x1, y1, x2, y2 = canvas.coords(selrect)
        canvas.coords(selrect, x1, y1, event.x, event.y)

    canvas.bind("<Button-1>", selstart)
    canvas.bind("<B1-Motion>", selupdate)

    root.mainloop()


if __name__ == "__main__":
    main()
Nahlásit jako SPAM
IP: 213.211.51.–
Martin
~ Anonymní uživatel
1602 příspěvků
17. 11. 2020   #3
-
0
-

#2 gna
No ja by som chcel vytvoriť program na zaťažovacie merania ktorý by vzal obrázok z takéhoto merania a štandardizoval ho na základe toho žeby mu dal presný rozmer vybral by určitú plochu kde by bola legenda (toto by samozrejme zabezpečil človek) a preto vlastne chcem aby som programom vedel vyberať určite miesto akoby som pracoval s nástrojom na vystrihovanie a následne tento kúsok vystrihnutého obrázku by som vedel umiestniť povedzme do pravého dolného rohu a na mieste kde bol predtým ten kus obrázku by sa vyliala biela farba.

Nahlásit jako SPAM
IP: 95.103.112.–
Martin
~ Anonymní uživatel
1602 příspěvků
17. 11. 2020   #4
-
0
-

Ale mam problém, postup príkazov ktorý si mi tu dal skúšam u seba a okno ktoré mi vybehne si najprv vypýta obrázok s ktorým chcem pracovať (zmenil som .gif na .jpg) ale následne po vybratí obrázku len vyskočí biele okno a cele sa zasekne a prestane pracovať mám niečo v tom postupe príkazov meniť na svoje parametre aby sa toto nedialo ?

Nahlásit jako SPAM
IP: 95.103.112.–
gna
~ Anonymní uživatel
1891 příspěvků
17. 11. 2020   #5
-
0
-

Tkinter neumí načíst JPG, můžeš na to použít PIL.ImageTk.

Nahlásit jako SPAM
IP: 213.211.51.–
Martin
~ Anonymní uživatel
1602 příspěvků
18. 11. 2020   #6
-
0
-

#5 gna
ďakujem a je pythón schopný zistiť koľko pixelov určitej farby sa nachádza v neakom obrázku? Povedzme že by vypísal: červenej 2500 modrej 3000 a tak ďalej? ?

Nahlásit jako SPAM
IP: 95.103.112.–
gna
~ Anonymní uživatel
1891 příspěvků
18. 11. 2020   #7
-
0
-

Typicky knihovny pro práci s obrazovými daty poskytují plný přístup k obsahu. Ten zmíněný PIL má metodu getpixel, takže můžeš třeba projít všecny pixely a spočítat je.

Nahlásit jako SPAM
IP: 213.211.51.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 23 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý