我正在尝试显示1394摄像机的实时图像。目前,我的代码能够从相机循环获取图像,并且我正在寻找可以动态更新(作为单独线程)的任何快速GUI。我可以在PyQt中使用QThreads来做到这一点,但是有什么建议或更快的方法吗?这是我的代码
#从相机捕捉帧
for frame in range(1,500):
print 'frame:',frame
TIME.sleep(1) #capture frame every second
image_binary = pycam.cam.RetrieveBuffer()
#convert to PIL Image
pilimg = PIL.Image.frombuffer("L",(cimg.GetCols(),cimg.GetRows()),image_binary,'raw', "RGBA", 0, 1)
# At this point I want to send my image data to a GUI window and display it
谢谢。
这是将执行此操作的wxPython代码…
import wx
from PIL import Image
SIZE = (640, 480)
def get_image():
# Put your code here to return a PIL image from the camera.
return Image.new('L', SIZE)
def pil_to_wx(image):
width, height = image.size
buffer = image.convert('RGB').tostring()
bitmap = wx.BitmapFromBuffer(width, height, buffer)
return bitmap
class Panel(wx.Panel):
def __init__(self, parent):
super(Panel, self).__init__(parent, -1)
self.SetSize(SIZE)
self.SetBackgroundStyle(wx.BG_STYLE_CUSTOM)
self.Bind(wx.EVT_PAINT, self.on_paint)
self.update()
def update(self):
self.Refresh()
self.Update()
wx.CallLater(15, self.update)
def create_bitmap(self):
image = get_image()
bitmap = pil_to_wx(image)
return bitmap
def on_paint(self, event):
bitmap = self.create_bitmap()
dc = wx.AutoBufferedPaintDC(self)
dc.DrawBitmap(bitmap, 0, 0)
class Frame(wx.Frame):
def __init__(self):
style = wx.DEFAULT_FRAME_STYLE & ~wx.RESIZE_BORDER & ~wx.MAXIMIZE_BOX
super(Frame, self).__init__(None, -1, 'Camera Viewer', style=style)
panel = Panel(self)
self.Fit()
def main():
app = wx.PySimpleApp()
frame = Frame()
frame.Center()
frame.Show()
app.MainLoop()
if __name__ == '__main__':
main()
我有自定义列表视图。在listview中包含200个项目。当我从上到下或从下到上快速滚动时,listview显示错误的图像。如果我在慢慢滚动,那么它的工作很好。 XML格式的SimpleDraweeView: 将图像URI设置为SimpleDraweeView: SetHierarchyForDraweeView函数: AsyncColorDrawable类: 如果我做错了什么,请你想清楚。谢谢你
问题内容: 我编写了以下代码以特定格式显示日期时间: 输出量 我想将“ pm”显示为“ PM”(用大写字母表示),如果电话具有24小时格式,则AM / PM应该不会出现。请帮我。 问题答案: 您可以如下设置DateFormatter amSymbol和pmSymbol: Xcode 8.3•Swift 3.1
下面是XML
所以我有以下代码: 运行良好,闪屏显示得与我想要的完全一样,但它不在任务栏中显示图标,因此可以单击另一个窗口,再也看不到闪屏栏(它隐藏在其他窗口后面)。br> 我已经尝试使用窗口标志 ,但是如果我使用它,任务栏中仍然没有图标,而且现在它总是位于所有其他窗口的顶部(这是我不想要的)。br> 到目前为止,我已经浏览了一些窗口标志,并在谷歌上搜索了很长一段时间,我试图显示它。br> 另外,我知道我可以给
函数名称:显示快速设置 函数功能: 下滑显示快速设置 函数方法 keycode.quickSetting() 注意事项 部分设备可能会出现无效的问题,已知模拟器调用此命令可能会失效。 目前积木编程函数和触动精灵函数不通用,请仔细查看本手册,此手册中函数仅支持积木编程,不支持触动精灵,同理请勿将触动精灵函数在积木编程运行。
问题内容: 我正在使用Swift在iOS上进行编程,并且正在使用此代码移动,但是它不起作用。我正确调用了该函数,但是文本字段没有移动。我正在使用自动版式。 问题答案: 现有答案有一些改进。 首先, UIKeyboardWillChangeFrameNotification 可能是最好的通知,因为它处理的不仅是显示/隐藏,还包括由于键盘更改(语言,使用第三方键盘等)和旋转引起的更改(但下面的注释说明
问题内容: 我正在使用QLPreviewController预览文档。但是我不知道如何显示存储在服务器上的文档。 问题答案: 你不能 QuickLook仅适用于本地资源文件。您需要首先异步下载数据,将其保存到文档目录或临时文件夹中,并在完成后从主线程中显示QLPreviewController: 编辑/更新: Xcode 11.3.1•Swift 5.1 ViewController.swift
问题内容: 编写并运行此代码后,编译器将显示Expected Declaration错误: 问题答案: 之所以会出现此错误,是因为您在类中的错误位置放置了代码,因此将其移至任何函数或viewDidLoad方法中。 您只能在类范围内声明,而不能执行表达式。 它将正常工作。 编辑: 在您的第二个UIViewController只是通过NSUserDefaults这种方式阅读highScore : 因此