importwximportwx.xrcimportcv2importnumpyasnpclassMyFrame1(wx.Frame):def__init__(self,parent):wx.Frame.__init__(self,parent,id=wx.ID_ANY,title=wx.EmptyString,pos=wx.Defaul...
import wx
import wx.xrc
import cv2
import numpy as np
class MyFrame1 ( wx.Frame ):
def __init__( self, parent ):
wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 500,300 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )
self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
bSizer2 = wx.BoxSizer( wx.VERTICAL )
self.xianshi = wx.Button( self, wx.ID_ANY, u"show", wx.Point( 1,-1 ), wx.DefaultSize, 0 )
bSizer2.Add( self.xianshi, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, 5 )
self.SetSizer( bSizer2 )
self.Layout()
self.Centre( wx.BOTH )
# Connect Events
self.xianshi.Bind( wx.EVT_BUTTON, self.main_button_click )
def __del__( self ):
pass
# Virtual event handlers, overide them in your derived class
def main_button_click( self, event ):
video = Video()
video.show()
class Video:
def show( self ):
cap = cv2.VideoCapture(0)
while(1):
ret, frame = cap.read()
cv2.imshow("capture", frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
if __name__=='__main__':
app=wx.App()
frame=MyFrame1(None)
frame.Show(True)
app.MainLoop()
显示摄像头的代码放在单独放出来运行没有问题,但是如果加上界面的话,就会出错。完整代码已经贴上。
展开