Skip to content

deviating results of findChessboardCorners #27885

@dehugomi

Description

@dehugomi

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

Image Image Image Image Image Image

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)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions