OpenCV unable to recognize (any) checkerboard pattern

We have been attempting to calibrate a DSLR camera for several weeks now, using literally every kind of calibration board, scene, lighting, and more. In every, single case, OpenCV fails to find any checkerboard patterns. Here is an example photo:

image

This checkerboard is completely flat, printed on foam board with matte finish (for minimal reflectivity). Regardless of whether it is shot inside or outside, the corners are never recognized. I have heard that OpenCV’s algorithm for corner recognition is not very robust, but wanted to reach out to the forum before confirming this conclusion for myself.

We have also tried calibration boards with white boarder, dark boarders (of varying sizes). Literally nothing works. Here is the code used for the photo above:

img = cv.imread(os.path.join(imgDir,fname), cv.IMREAD_UNCHANGED)

scale_percent = .25
width = int(img.shape[1] * scale_percent)
height = int(img.shape[0] * scale_percent)
dsize = (width, height)    
dimg = cv.resize(img, dsize)     

gray = cv.cvtColor(dimg, cv.COLOR_RGB2GRAY)
ret, corners = cv.findChessboardCorners(gray, (7, 5), None)

ret is always false, and corners is always empty. No exceptions. Is there a limit on the size of the image or some other constraint that has not been published in the documentation? No other programs trialed have been able to calibrate this camera, including MATLAB.