pythonwx+opencv+kociemba实现魔方还原

源码:https://gitee.com/zouchengxin/cube

窗口程序(cube_desktop.py)

import wx
import cv2
import colordetect as cd
import colordraw
class CubeFrame(wx.Frame):

    def __init__(self,*args,**kwargs):
        super(CubeFrame,self).__init__(*args,**kwargs)

        self.SetClientSize(600,680)
        self.SetMaxSize((600,680))
        self.SetMinSize((600,680))
        self.Bind(wx.EVT_IDLE,self.onIDLE)
        self.panel = wx.Panel(self, wx.ID_ANY)

        labelOne = wx.StaticText(self.panel, wx.ID_ANY, '机器人串口:')
        inputTxtOne = wx.TextCtrl(self.panel, wx.ID_ANY, 'COM3')
        labelTwo = wx.StaticText(self.panel, wx.ID_ANY, '摄像头串口:')
        inputTxtTwo = wx.TextCtrl(self.panel, wx.ID_ANY, '0')
        self.Bind(wx.EVT_TEXT,self.onCOM1,inputTxtOne)
        self.Bind(wx.EVT_TEXT, self.onCOM2, inputTxtTwo)

        self.cap=None
        self.index = 0
        self.COM2=0
        self.COM1="COM3"
        self.names=["up.jpg","down.jpg","left.jpg","right.jpg","front.jpg","back.jpg"]
        labelThree = wx.StaticText(self.panel, wx.ID_ANY, '魔方:')
        choice=wx.Choice(self.panel,choices=["上面","下面","左面","右面","前面","后面"])
        choice.SetSelection(self.index)
        self.Bind(wx.EVT_CHOICE,self.onChoice,choice)

        self.cameraBtn = wx.Button(self.panel, wx.ID_ANY, '拍照保存')
        self.cubeBtn = wx.Button(self.panel, wx.ID_ANY, '魔方还原')
        openBtn = wx.Button(self.panel, wx.ID_ANY, '打开摄像头')
        self.cameraBtn.Disable()
        #self.cubeBtn.Disable()
        self.Bind(wx.EVT_BUTTON, self.onCamera, self.cameraBtn)
        self.Bind(wx.EVT_BUTTON, self.onCube, self.cubeBtn)
        self.Bind(wx.EVT_BUTTON,self.onOpen,openBtn)

        self.pic=wx.StaticBitmap(self.panel)
        self.pic.SetSize((600,500))
        img=wx.Bitmap()
        img.Create(600,500)
        self.pic.SetBitmap(img)


        topSizer = wx.BoxSizer(wx.VERTICAL)
        inputOneSizer = wx.BoxSizer(wx.HORIZONTAL)
        btnSizer = wx.BoxSizer(wx.HORIZONTAL)

        inputOneSizer.Add(labelOne, 0, wx.ALL, 5)
        inputOneSizer.Add(inputTxtOne, 1, wx.ALL | wx.EXPAND, 5)
        inputOneSizer.Add(labelTwo, 0, wx.ALL, 5)
        inputOneSizer.Add(inputTxtTwo, 1, wx.ALL | wx.EXPAND, 5)
        inputOneSizer.Add(labelThree, 0, wx.ALL | wx.EXPAND, 5)
        inputOneSizer.Add(choice, 1, wx.ALL | wx.EXPAND, 5)
        btnSizer.Add(openBtn, 0, wx.ALL, 5)
        btnSizer.Add(self.cameraBtn, 0, wx.ALL, 5)
        btnSizer.Add(self.cubeBtn, 0, wx.ALL, 5)
        topSizer.Add(inputOneSizer, 0, wx.ALL | wx.EXPAND, 5)
        topSizer.Add(wx.StaticLine(se
  • 11
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值