-
-
Notifications
You must be signed in to change notification settings - Fork 56.5k
deviating results of findChessboardCorners #27885
Description
System Information
noted in opencv-python==4.12.0.88
reference version opvencv-python==4.8.1.78
Operating system: Windows 11
Python version 3.10.16
Detailed description
After updating openCV from 4.8 to 4.12 we noticed that several of our unit tests failed. Reason in all cases is a worse detection of the chessboard corners. In some scenes there are difficult conditions (strong reflection on the chessboard). But there are also situations with diffuse lighting where the detection is worse with version 4.12.
Steps to reproduce
import numpy as np
import cv2
import matplotlib.pyplot as plt
from PIL import Image
image = Image.open('./1.png')
array = np.array(image)
fccOptions= None
ret, corners = cv2.findChessboardCorners(array, [6,4], fccOptions)
corners = np.squeeze(corners, axis=1)
plt.imshow(np.sqrt(image), cmap='gray')
plt.scatter(corners[:, 0], corners[:, 1], color='red', marker='x', label='imgPointsIdx')
plt.axis('off')
plt.show()
Issue submission checklist
- I report the issue, it's not a question
- I checked the problem with documentation, FAQ, open issues, forum.opencv.org, Stack Overflow, etc and have not found any solution
- I updated to the latest OpenCV version and the issue is still there
- There is reproducer code and related data files (videos, images, onnx, etc)