OpenCV与WXPython的集成

OpenCV与WXPython的集成,第1张

OpenCV与WXPython的集成

下面的示例代码在OS
X上对我来说很好用,但是跨平台使用wx令我有些惊讶。它几乎是相同的代码,不同之处

cvtColor
在于重新分配了from的结果,并添加了
wx.Panel
(是重要部分)的子类

    import wx    import cv, cv2    class ShowCapture(wx.Panel):        def __init__(self, parent, capture, fps=15): wx.Panel.__init__(self, parent) self.capture = capture ret, frame = self.capture.read() height, width = frame.shape[:2] parent.SetSize((width, height)) frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) self.bmp = wx.BitmapFromBuffer(width, height, frame) self.timer = wx.Timer(self) self.timer.Start(1000./fps) self.Bind(wx.EVT_PAINT, self.OnPaint) self.Bind(wx.EVT_TIMER, self.Nextframe)        def onPaint(self, evt): dc = wx.BufferedPaintDC(self) dc.DrawBitmap(self.bmp, 0, 0)        def Nextframe(self, event): ret, frame = self.capture.read() if ret:     frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)     self.bmp.CopyFromBuffer(frame)     self.Refresh()    capture = cv2.VideoCapture(0)    capture.set(cv.CV_CAP_PROP_frame_WIDTH, 320)    capture.set(cv.CV_CAP_PROP_frame_HEIGHT, 240)    app = wx.App()    frame = wx.frame(None)    cap = ShowCapture(frame, capture)    frame.Show()    app.MainLoop()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5661697.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存