java如何识别照片里魔方的颜色块?

java如何识别照片里魔方的颜色块?
你好,我最近想用java写个解魔方的程序,大致原理就是调取笔记本摄像头拍下魔方的六个面的小方块颜色,然后存取到数组里面,然后通过后续的算法还原魔方,我想知道java怎么样从一张照片里面识别出魔方并且读出每个面的颜色块

可以用Matlab辅助。