tkinterを利用して画像の入れ替え
コード
pythonのGUI用のパッケージであるtkinterを使って、画像を入れ替えるコードを書いてみました。
そのコードは下記となります。
flip.py
import tkinter as tk
import cv2
from PIL import Image, ImageTk
#create window
window = tk.Tk()
#read image 1
img1 = cv2.imread("cat1.jpg")
#set image size
img1 = cv2.resize(img1,(306,148))
#change color of image from bgr to rgb
img1 = cv2.cvtColor(img1,cv2.COLOR_BGR2RGB)
#convert cv2 image to pil
img_pil1 = Image.fromarray(img1)
#convert pil to photoimage
img_tk1 = ImageTk.PhotoImage(img_pil1)
#read image 2
img2 = cv2.imread("cat2.jpg")
#set image size
img2 = cv2.resize(img2,(306,148))
#change color of image from bgr to rgb
img2 = cv2.cvtColor(img2,cv2.COLOR_BGR2RGB)
#convert cv2 image to pil
img_pil2 = Image.fromarray(img2)
#convert pil to photoimage
img_tk2 = ImageTk.PhotoImage(img_pil2)
#create canvas widget
canvas = tk.Canvas(window,width=img1.shape[1],height=img1.shape[0])
#set canvas widget
canvas.pack()
#load image to canvas. first and second parameter is the position to set image. anchor parameter is for selecting part of image to be set to position. eg: nw is top right of image.
image_id = canvas.create_image(0,0,anchor="nw",image=img_tk1)
#variable for switching between two images
flip = True
#define function for switching image
def switch():
#use global variable
global flip
#if true, switch to image 2
if flip:
canvas.itemconfigure(image_id,image=img_tk2)
flip = False
#if false, switch to image 1
else:
canvas.itemconfigure(image_id,image=img_tk1)
flip = True
#create button widget
button = tk.Button(window,text="Change Image",command=switch)
#set button widget
button.pack()
#call event loop
window.mainloop()
使用した画像
コードの実行結果
Author And Source
この問題について(tkinterを利用して画像の入れ替え), 我々は、より多くの情報をここで見つけました https://qiita.com/sabewe/items/ff39f93804a80c11e7bf著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .