8000 GitHub - Rdjroot/CubeSolver: 基于C++、QT和OpenCV的三阶魔方还原程序
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Rdjroot/CubeSolver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CubeSolver-Cpp

基于C++的三阶魔方还原程序

[TOC]

项目说明

本项目为基于QT5和OpenCV3.41的图像识别魔方还原程序。

还原算法采用科先巴二阶段算法。

实现了输入打乱公式提供还原公式的功能,以及通过摄像头扫描识别魔方六面,获取魔方还原公式,且提供3D魔方图像动画演示。

以下展示用法

快速使用

  • 输入打乱公式,获取还原公式

quickUse

扫描使用

魔方识别并给出还原公式和动画

camerause

输入打乱公式获取还原公式和动画

latex

项目目录

  1. 主要Demo(文件夹)
|---Code
├── algorithm/                    
│   ├── Cube_Algorithm/				# 魔方还原算法
│   │   ├── CubieCube.h/cpp			# 魔方数据结构
│   │   └── Solver.h/cpp			# 还原算法
|	|  	└── testMain.cpp			# 测试
|	|
├── demo/                           # opencv 魔方图像识别demo
│   ├── ColorPickerDemo.cpp			# 筛选六色HSV值
│   ├── getCubeInfos.cpp			# 颜色识别轮廓勾勒demo
│   └──  CubeFrameReco.cpp			# 划定区域识别每面颜色
└── 
  1. QT程序(项目)
CubeSolver/
├── Headers/
│   ├── buildcube.h				# opengl 魔方3D图像窗口
|	├── camerathread.h 			# 开启摄像头,传递画面线程类
|	├── cubedetec.h 			# 监控摄像画面,识别魔方颜色窗口
│   ├── cubiecube.h				# 魔方数据结构类
│   ├── mainwindow.h			# 多功能窗口
│   ├── solver.h				# 魔方还原算法
│   └── welcome.h				# 程序首窗口
├── Sources/
│   ├── buildcube.cpp				
|	├── camerathread.cpp 			
|	├── cubedetec.cpp			
│   ├── cubiecube.cpp				
│   ├── mian.cpp				# 程序入口
│   ├── mainwindow.cpp			
│   ├── solver.cpp				
│   └── welcome.cpp				
├── Forms/
│   ├── buildcube.ui
│   ├── cubedetec.ui
│   ├── mainwindow.ui
│   └── welcome.ui
├── Resources/
│   ├── /
│   ├── shapes.frag				# opengl渲染文件
│   ├── shapes.vert
│   └── Resource/
│   	└── cubeIcon.png		# 图标
└── CubeSolver.pro

开发指南

使用OpenCV识别魔方颜色(完成)

三阶魔方基础知识(未完成)

还原算法(未完成)

界面与识别魔方(未完成)

迭代日志

version 1.0

05.19

主要工作:获取三阶魔方六色HSV值,通过摄像头获取信息。

colorPicker

效果展示:滑动窗口改变HSV值域,识别出来的颜色会是白色,由此获取HSV值

getCubeInfo

效果展示:勾勒识别结果,标记颜色,识别精度不够

cubeFrameReco

效果展示:将魔方置于框中,只识别九个点位对应颜色,画框标记

05.21

工作内容:使用QT绘制界面,打开摄像头获取魔方六面颜色信息,传回主窗口

recoWindow_1

效果展示

05.31

工作内容:实现还原算法;可输入打乱公式,获取还原公式

还原算法的demo:/Code/algorithm/Cube_Algorithm

  • CubieCube.h/cpp:魔方数据结构与旋转方法
  • Solver.h/Solver.cpp: 还原算法
  • testMain.cpp: 测试代码

image-20240603233400048

效果展示

06.03

工作内容:充实QT界面,实现魔方3D图像展示构建

image-20240603233631456

开始界面

image-20240603234402371

识别结果

image-20240603235650137

image-20240603235833288

按照识别结果展示

06.07

  • 完成version1.0程序
    • 实现QT窗口
    • 输入打乱公式——获取还原公式
    • 摄像头扫描魔方六面——获取还原公式
    • opengl窗口展示3D魔方还原动画

06.13

  • 添加注释,修改旋转bug

06.14

  • 修复功能bug

About

基于C++、QT和OpenCV的三阶魔方还原程序

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0