Newer
Older
LumenProfiler / test.py
import tkinter as tk

import cv2
from PIL import Image, ImageOps, ImageTk


def show_image():
    global disp
    img = cv2.imread("img.png")
    pil = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
    pil = ImageOps.pad(pil, (canvas.winfo_width(), canvas.winfo_height()))
    disp = ImageTk.PhotoImage(pil)
    canvas.create_image(0, 0, image=disp, anchor=tk.NW)  # dispの生存期間に注意


tkroot = tk.Tk()
button = tk.Button(tkroot, text="画像を表示", command=show_image)
button.pack()
canvas = tk.Canvas(tkroot)
canvas.pack(fill=tk.BOTH, expand=True)
tkroot.mainloop()