【发布时间】:2021-05-06 13:00:36
【问题描述】:
请记住,我只是展示了一小部分代码。
如果不导入 Tkinter,下面的代码可以工作:
import os
import PIL
from PIL import ImageTk, Image
import cv2
import numpy as np
import pytesseract
import pandas as pd
##CROPS NUMBER PLATE
diretory_save_cut_out_NP = main_folder_directory + '/' + 'Computational directory/NP & VIN/Original NP/'
for x in range(0, file_count):
im = Image.open(original_file_directory + reg_doc_list_names[0] + '.png')
x1 = 140
y1 = 740
x2 = im.width - 1200
y2 = im.height - 2470
region = im.crop((x1, y1, x2, y2))
region.save(diretory_save_cut_out_NP + reg_doc_list_names[0] + '.png')
reg_doc_list_names.pop(0)
但是,如果我导入 Tkinter 并尝试制作 GUI,则会弹出此错误:
import os
import PIL
from PIL import ImageTk, Image
import cv2
import numpy as np
import pytesseract
import pandas as pd
import tkinter as tk
from tkinter import *
##CROPS NUMBER PLATE
diretory_save_cut_out_NP = main_folder_directory + '/' + 'Computational directory/NP & VIN/Original NP/'
for x in range(0, file_count):
im = Image.open(original_file_directory + reg_doc_list_names[0] + '.png')
x1 = 140
y1 = 740
x2 = im.width - 1200
y2 = im.height - 2470
region = im.crop((x1, y1, x2, y2))
region.save(diretory_save_cut_out_NP + reg_doc_list_names[0] + '.png')
reg_doc_list_names.pop(0)
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\lol\Anaconda3\lib\tkinter\__init__.py", line 1883, in __call__
return self.func(*args)
File "<ipython-input-11-a57cb1712307>", line 35, in scanner
im = Image.open(original_file_directory + reg_doc_list_names[0] + '.png')
AttributeError: type object 'Image' has no attribute 'open'
我尝试了一些东西,但是没有任何效果,你们有什么建议吗?提前致谢,我会尽快回复。
【问题讨论】:
-
由于
from tkinter import *,您使用的是tkinter.Image(),而不是PIL.Image()。 -
@acw1668 伙计,你很棒,现在可以使用了,谢谢
-
*导入并不总是邪恶的,但它们被滥用了很多。如果你真的需要很多tk的东西,import tkinter as tk会更好,因为它不会因为潜在的冲突而污染你的命名空间。
标签: python-3.x image tkinter