# cube_detect_solve **Repository Path**: benwg/cube_detect_solve ## Basic Information - **Project Name**: cube_detect_solve - **Description**: 对魔方状态进行检测并提供还原方案。 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2022-04-14 - **Last Updated**: 2022-06-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: 魔方, OpenCV, 还原, cube ## README # cube_detect_solve #### 介绍 该程序可以调用摄像头对魔方6个面中每一块的颜色进行识别,一次可识别3个面,只需翻转一次魔方即可识别完毕,并提供还原方案。 #### 软件架构 1. 通过Python3调用OpenCV对图像进行处理和识别; 2. 可以用鼠标拖拽图像上的指示顶点来对准魔方,每次识别3个面,只需要翻转一次魔方就可识别完毕; 3. 在识别的同时会对魔方6个面的颜色值进行校准以提高识别准确度; 4. 最后将识别结果送到kociemba获取还原方案。 #### 安装教程 1. 安装OpenCV,这里用的是4.5.5 https://codeload.github.com/opencv/opencv/zip/refs/tags/4.5.5 2. 需要安装kociemba https://github.com/muodov/kociemba 3. 安装Anaconda3和Python3,这里用的是3.7.13 https://mirrors.bfsu.edu.cn/anaconda/archive/Anaconda3-2021.11-Windows-x86_64.exe 4. IDE使用VSCode 5. 主程序是cube_detect_solve.py #### 使用说明 1. 启动命令:python cube_detect_solve.py ![打开摄像头](images/stop0.png) 2. 将摄像头对准魔方按照指示调整魔方摆放位置,首先识别绿、橙、白三面,可以通过鼠标拖拽指示点来调整识别区域 ![将魔方放在合适位置](images/step1.png)![用鼠标调整识别区域](images/step2.png)![一次可同时识别3面](images/step3.png) 3. 按照顶部提示翻转魔方,程序将自动识别蓝、红、黄三面,识别成功后在顶部会显示还原步骤。 ![全部识别成功后会在顶部给出还原步骤](images/step4.png) 4. 还原步骤说明,这个网站解释的很好 https://ruwix.com/the-rubiks-cube/notation/ #### 感谢 1. 本程序学习借鉴了qbr代码,并使用了其中部分代码 https://github.com/kkoomen/qbr 2. 魔方还原方案的是通过kociemba得到的 https://github.com/muodov/kociemba 3. OpenCV+Python+Anaconda+VSCode环境配置 https://blog.csdn.net/OathkeePer2x/article/details/107797111