получить входное изображение, обработать его и вернуть результат в tkinter - PullRequest
0 голосов
/ 07 января 2020

Моя программа состоит в том, чтобы получать изображение от пользователя, отображать изображение, нажимая кнопку, нажимать кнопку результата, чтобы обрабатывать изображение и отображать его, проблема в том, что изображение результата сохраняется в папке, но не отображается изображение код взят из tkinter import * из tkinter import ttk
из PIL import ImageTk, Image
из tkinter import filedialog как fd import cv2

def showImage ():

    lbl1.configure(image=image_tk)
    #btn.configure(text = "load image!", command=showImage1)

def showImagen ():

    img =cv2.imread(fname)
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 
    ret, thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV +cv2.THRESH_OTSU) 
    cv2.imwrite('image1.jpeg', thresh)
    fname1 = "image1.jpeg"
    image_tkt = ImageTk.PhotoImage(Image.open(fname1))
    btn1 = ttk.Button(c, text="result image", command=showImagenm)
   # image_tkt = ImageTk.PhotoImage(file="D:\project final\output1\image1.jpeg")
   # lbl2.configure(image=image_tkt)

def showImagenm ():

lbl2.configure(image=image_tkt)

root = Tk ()
c = ttk.Frame (root, padding = (5, 5, 12, 0))

c .grid (столбец = 0, строка = 0, закрепленный = (N, W, E, S))

d = ttk.Frame (root, заполнение = (5, 5, 12, 0))

d.grid (столбец = 1, строка = 0, закрепление = (N, W, E, S ))

root .grid_columnconfigure (0, weight = 1)

root .grid_rowconfigure (0, weight = 1)

fname = fd.askopenfilename ( )

fname = "a.jpeg"

image_tk = ImageTk.PhotoImage (Image.open (fname))

fname 1 = "image1.jpeg"

image_tkt = ImageTk.PhotoImage (Image.open (fname1))

btn = ttk.Button (c, text = "загрузить изображение", команда = showImage)

lbl1 = ttk.Label (c)

lbl2 = ttk.Label (d)

btn1 = ttk.Button (c, текст = "изображение результата", команда = showImagen)

btn.grid (столбец = 0, строка = 1, sticky = N, pady = 5, padx = 5)

lbl1.grid ( column = 0, row = 0, sticky = N, pady = 5, padx = 5)

btn1.grid (column = 1, row = 1, sticky = N, pady = 5, padx = 5)

lbl2.grid (столбец = 1, строка = 0, sticky = N, pady = 5, padx = 5)

root .mainl oop ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...