【发布时间】:2021-11-09 14:31:32
【问题描述】:
我正在尝试制作一个将过滤器应用于图像的应用程序,但在读取 image_label_filtered=Label(image=filtered_image) 说 _tkinter.TclError: image doesn't exist 后显示异常。
from tkinter import *
import cv2
import numpy as np
from matplotlib import pyplot as plt
from PIL import ImageTk,Image
root=Tk()
root.title("image processing")
original_image=ImageTk.PhotoImage(Image.open("E:/college materials/third year first term/image processing/section/noised_image.png"))
original_image_for_filter=cv2.imread("E:/college materials/third year first term/image processing/section/noised_image.png")
image_label=Label(image=original_image)
image_label.grid(row=0,column=0)
def button_Blur():
filtered_image=cv2.blur(original_image_for_filter,(5,5))
image_label_filtered=Label(image=filtered_image)
image_label_filtered.grid(row =0, column=1)
button_blur=Button(root,text="apply blur filter",command=button_Blur)
button_blur.grid(row=1,column=0)
root.mainloop()
【问题讨论】:
-
filtered_image中的数据是什么类型的?是PhotoImage吗? -
我认为@BryanOakley 是对的。您正在从 Cv2 为过滤后的图像创建二进制数据。试试
Image.fromarray(filtered_image)。 -
@Danielme 它没有工作它显示另一个异常:_tkinter.TclError: image "
" 不存在