- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 OpenCV 和 Python Tkinter。我想将 OpenCV 的视频帧获取到 Tkinter 标签。我使用了线程,因为我有两个循环。 (我从 this 得到了指示)
当我尝试运行代码时,它向我显示,
Press any key to continue . . . Exception in thread Thread-2:Traceback (mostrecent call last):File "C:\Python27\lib\threading.py", line 808, in __bootstrap_inner self.run() File "C:\Python27\lib\threading.py", line 761, in run self.__target(*self.__args, **self.__kwargs)File "c:\users\user1\documents\visual studio 2013\Projects\defTstWindow\defT stWindow\defTstWindow.py", line 26, in makeGUI img = Image.fromarray(cv2image) AttributeError: class Image has no attribute 'fromarray'
我已经尝试使用 Python 类。我遇到了同样的错误。
但是,如果我在一个函数中运行所有内容(如 this 的第一个答案),它会正常工作。
我的代码有什么问题?
现在我有四个 python 模块。
1.Support.py
import cv2
global frame
frame=None
2.CamHandler.py
import cv2
import numpy as np
import Support
cam=cv2.VideoCapture(0)
def getFrame():
while 1:
_,frm=cam.read()
#cv2.imshow('frm',frm)
Support.frame=frm
if cv2.waitKey(1) & 0xFF == ord('q'):
cv2.destroyAllWindows()
break
3.defTstWindow.py
import sys
import cv2
import Image, ImageTk
from Tkinter import *
import Support
def makeGUI():
top=Tk()
top.geometry("600x449+650+151")
top.title("Test Window")
top.configure(background="#d9d9d9")
lblFrame = Label(top)
lblFrame.place(relx=0.03, rely=0.04, height=411, width=544)
lblFrame.configure(background="#d9d9d9")
lblFrame.configure(disabledforeground="#a3a3a3")
lblFrame.configure(foreground="#000000")
lblFrame.configure(text='''Label''')
lblFrame.configure(width=544)
cv2image = cv2.cvtColor(Support.frame, cv2.COLOR_BGR2RGBA)
img = Image.fromarray(cv2image)
imgtk = ImageTk.PhotoImage(image=img)
lblFrame.imgtk = imgtk
lblFrame.configure(image=imgtk)
#lblFrame.after(10, show_frame)
top.mainloop()
4.main.py
import CamHandler
import defTstWindow
import threading
import time
threading.Thread(target=CamHandler.getFrame).start()
time.sleep(1)
threading.Thread(target=defTstWindow.makeGUI).start()
最佳答案
Tkinter
命名空间包含类 Image
,所以当您编写
from Tkinter import *
您将 Image
的定义替换为来自 Tkinter
的定义。
import *
可能很方便,尤其是在交互式 shell 中工作时,但不建议将其用于脚本和更大的程序,原因正是这个问题中所展示的。将该导入更改为
from Tkinter import Tk, Label
(将您需要的任何其他名称添加到该导入语句中。)
关于python - 类图像没有属性 'fromarray',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40724661/
我正在使用 OpenCV 和 Python Tkinter。我想将 OpenCV 的视频帧获取到 Tkinter 标签。我使用了线程,因为我有两个循环。 (我从 this 得到了指示) 当我尝试运行代
我正在编写一个小 gui 来测试 opencv 函数 - 轻松更改参数值(用于阈值、blob 检测等)。我开始使用 tkinter 编写 gui,并使用 Image.fromarray 函数得到奇怪的
This question already has answers here: OpenCV giving wrong color to colored images on loading (2个答案
我无法解释这段代码的 Doctrine 问题。 public function fromArray(array $array, $deep = true) { $refresh = false
我有想要存储到图像中的数据。我创建了一个宽度为 100、高度为 28 的图像,我的矩阵具有相同的形状。当我使用 Image.fromarray(matrix) 时,形状发生变化: from PIL i
我正在尝试使用 Image.fromarray 将 numpy 矩阵保存为灰度图像。它似乎适用于随机矩阵,但不适用于特定矩阵(应该出现一个圆圈)。谁能解释我做错了什么? from PIL import
我的目标是在 IPython 笔记本中内联打印图像。该图像是使用函数 PIL.Image.fromarray 构建的。更具体地说,这是发生了什么。当我运行时 import numpy as np fr
我正在尝试学习不同的 RxJava 运算符。我对 Observable.just 和 Observable.fromArray() 以及它们如何发出 Observables 有点困惑。 单个整数工作正
我正在使用 numpy 数组转换为图像 Image.fromarray() 文档字符串显示默认模式是“None”。这意味着什么?是“L”等模式之一,还是另一种模式? 最佳答案 如果您不指定模式或指定
我正在尝试可视化一个包含 2048280 个整数的列表,这些整数要么是 1,要么是 0。有一个函数可以从 (width=1515 height=1352) 图像文件中输出这个列表。功能 test_re
我在指定的行中从以下 Python3 代码中收到错误。x、y 和 z 都是普通的 2D numpy 数组,除了大小相同外,它们的工作方式应该相同。然而它们的行为不同,y 和 z 崩溃而 x 工作正常。
我正在使用 Python 3.6 和 Pillow 4.0.0我正在尝试从值数组制作 PIL 图像,请参阅下面的简化代码,我收到以下错误:AttributeError: 'array.array' o
我真的尽了最大努力通过自己的研究来解决这个问题,但不幸的是,我是 three.js 和 javascript 的新手,我真的需要一些帮助。 我正在尝试将模型从 threex(google threex
我有一个形状为 3,256,256 的 PyTorch 张量其中 3 是 channel 数,图像尺寸为 256,均为浮点值。 我正在尝试将其输入网络并使用 PIL 进行一些转换。为此,我这样做: i
我想以 P 模式加载图像,将其转换为 np.array 然后再转换回来,但我得到了错误的 Image 对象,它是灰色的图片,不是彩色的 label = PIL.Image.open(dir).conv
我有一个形状为 (10000,1296) 的数组 (numpy),我想将其保存为 10,000 张 36x36 大小的图像。数组中的所有值都在 (0,255) 范围内。所以我使用这段代码来做到这一点(
如果有任何帮助,我将不胜感激:) 我正在尝试从一维字符串数组创建一个记录数组和二维数字数组(这样我就可以使用 np.savetxt 并将其转储到文件中)。不幸的是,文档没有提供信息:np.core.r
我正在编写一个脚本,使用 PIL 在 python3 中加密和解密图像。在这里,我将图像转换为一个 numpy 数组,然后将数组的每个元素乘以 10。现在我注意到 PIL fromarray() 中的
我正在使用 Python 2.7 和 opencv 2.1。 我有一个 numpy 数组,我想将它转换为“cv.CV_32FC1”类型的 opencv 矩阵。如何设置类型? “CreateMat()”
我需要在 .Net 中实现一个关于 System.Tuple 类的方法。最好的方法是什么?扩展方法、子类化整个 Tuple 类集或基于 System.Tuple 的源代码创建一个新类? 该方法输入一个
我是一名优秀的程序员,十分优秀!