This week, I focused on implementing computer vision for boundary edges and pockets on a full-sized pool table before transitioning to the smaller demo/testing table. The primary goal was to develop edge detection algorithms to accurately determine the physical dimensions and placement of the pool table boundaries in real-world coordinates. This step is crucial for precise ball position calculations during the shot simulation and calculating pocket position. Additionally, I began working on the thresholding portion of the project, which involves identifying pocket position based on the table boundaries and depth. This will help establish a reliable reference corners for ball placement and shot calculation as well.
I also dedicated time to researching ball detection and categorization techniques, which falls in the later stages of the CV pipeline. While most of the week was spent on boundary and pocket detection, I compiled several resources to guide the ball categorization and placement phase. These include GitHub repositories and tutorials on ball tracking and detection:
https://pyimagesearch.com/2015/09/14/ball-tracking-with-opencv/
https://github.com/sgrieve/PoolTable
https://github.com/danilwithonei/billiard_balls_detection