![]() ![]() ![]() Later, we implemented another portion of that code to remove outliers from the found lines to improve overall robustness of the algorithm. Here we found the slope of all mostly horizontal (larger change in x coordinates than in y) lines, and used that value to determine the points furthest left, top, right, and bottom based on the cube's axes, not on the axes of the image. The next step, using the longest found line segments to determine corner points on the cube, was implemented manually in C++. The images shown above illustrate some parts of the process used to find the necessary cube colors.įirst, code is used to filter out noise and find linear edges, and almost all of this step is done with openCVįunctions, Canny edge detection and randomized Hough transform in particular. This solution is then given as instructions to the user so that they can solve their IRL cube. There are two distinct components to our Rubik's Cube Solver: the input code that transforms a set of images into a cube data structure, and the solving algorithm that takes that input and produces the optimal solution. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |