CV Chess


Wolfgang Fahl

Installation[edit]

git clone  https://github.com/WolfgangFahl/ESE205-CVChess/
./installOpenCV
./install

Test[edit]

./test
============================= test session starts ==============================
platform linux -- Python 3.7.3, pytest-5.2.1, py-1.8.0, pluggy-0.13.0
rootdir: /home/wf/source/python/ESE205-CVChess
collected 2 items                                                              

test_camera.py .                                                         [ 50%]
test_webcam.py .                                                         [100%]

============================== 2 passed in 3.87s ===============================

Preview[edit]

# see https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_gui/py_video_display/py_video_display.html
import numpy as np
import cv2

cap = cv2.VideoCapture(0)

while(True):
    # Capture frame-by-frame
    ret, frame = cap.read()

    # Our operations on the frame come here
    #gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # Display the resulting frame
    cv2.imshow('Camera',frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()

start the above code - stop by pressing 'q'

python3 preview.py

Chesspic2019-10-15 1627.png

Run[edit]

./run

CV ChessStep1.png CV ChessStep2.png CV ChessStep3.png CV ChessStep4.png CV ChessStep5.png CV ChessStep6.png CV ChessStep7.png CV Chess Identified.png

Project details[edit]

The project was an effort of some 200 hours See also https://classes.engineering.wustl.edu/ese205/core/index.php?title=CV_Chess_Logs

Code Structure[edit]

Click classes to view source code

Issues[edit]

see also https://github.com/rjgoodloe/ESE205-CVChess/issues

CV ChessDetection.png

  1. The board detection algorithm does not make sure that squares are really squares.
  2. The algorithm has a strict flow which you must follow
🖨 🚪