Mar-08-2019, 12:40 AM
You could try the following approach:
1) Determine all edges, e.g. using canny edge detector;
2) Among all determined edges find square ones: this could be done, using, e.g. RANSAC algorithm (fitting a square or rhombus wouldn't be very computational expensive for RANSAC, I think)
3) Consider squares and rhombuses that are close each other: we expect that they tile a mosaic of size 8x8. So, from this point all is almost done.
4) Probably, if some edges weren't determined as rhombuses, we would needed to do some auxiliary steps to find utmost rhombuses; But this could be an issue, only if the image was noised. Chess-board is expected to be a contrasted part of the image, so all edges should be determined well.
1) Determine all edges, e.g. using canny edge detector;
2) Among all determined edges find square ones: this could be done, using, e.g. RANSAC algorithm (fitting a square or rhombus wouldn't be very computational expensive for RANSAC, I think)
3) Consider squares and rhombuses that are close each other: we expect that they tile a mosaic of size 8x8. So, from this point all is almost done.
4) Probably, if some edges weren't determined as rhombuses, we would needed to do some auxiliary steps to find utmost rhombuses; But this could be an issue, only if the image was noised. Chess-board is expected to be a contrasted part of the image, so all edges should be determined well.