微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Tkinter 和 PIL 在 Python 中相互干扰Image.open

如何解决Tkinter 和 PIL 在 Python 中相互干扰Image.open

请记住,我只是展示了一小部分代码

在没有导入 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,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'

我尝试了一些东西,但没有任何效果,你们有什么建议吗?提前致谢,我会尽快回复

解决方法

代码有效,感谢@acw1668:

##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 = PIL.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)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。