# findChessboardCornersSB not finding corners in partially visible chessboard

**URL:** <https://forum.opencv.org/t/findchessboardcornerssb-not-finding-corners-in-partially-visible-chessboard/10316>\
**Category:** Python\
**Tags:** calib3d, features2d\
**Created:** [September 26, 2022, 8:48am UTC](https://forum.opencv.org/t/findchessboardcornerssb-not-finding-corners-in-partially-visible-chessboard/10316 "2022-09-26T08:48:13Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Matthieu\_Pizenberg](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.opencv.org/matthieu_pizenberg/32/6133_2.png) [@Matthieu\_Pizenberg](https://forum.opencv.org/u/Matthieu_Pizenberg)\
**Post date:** [September 26, 2022, 8:48am UTC](https://forum.opencv.org/t/findchessboardcornerssb-not-finding-corners-in-partially-visible-chessboard/10316/1 "2022-09-26T08:48:13Z")

</div>

Hi all, I’ve read in `findChessboardCornersSB` doc that it should be able to detect partially visible chessboards when using `CALIB_CB_MARKER` and `CALIB_CB_LARGER` flags. However it is unable to detect corners in the following image (and all others of that calib session).

 ![007](https://us1.discourse-cdn.com/flex020/uploads/opencv/original/2X/d/d04d9c7a140d6682e6b145ae0fc849b59c379766.jpeg)

The images are a bit dark (due to reducing exposition time to minimize hand movements), but aside from that, it seems like detection should be relatively easy.

Could anyone with more insight on that algorithm help me understand where is the main difficulty in those images, or if it works for them?

---

<div class="post-metadata">

**Author:** ![crackwitz](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.opencv.org/crackwitz/32/14_2.png) [@crackwitz](https://forum.opencv.org/u/crackwitz)\
**Post date:** [September 26, 2022, 4:06pm UTC](https://forum.opencv.org/t/findchessboardcornerssb-not-finding-corners-in-partially-visible-chessboard/10316/2 "2022-09-26T16:06:37Z")

</div>

this is expected. the chessboard/grid finding APIs of OpenCV require the whole thing to be in view. that’s bad because it complicates getting data points in the far corners of the picture, where measuring distortion is most important.

if I had some paid time I’d implement a grid labeling algorithm that would erase those limitations. I’m sure lots of other people have these issues but nobody seems to wanna open-source their implementations.

instead, people solve this with “ChArUco”…

---

<div class="post-metadata">

**Author:** ![Matthieu\_Pizenberg](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.opencv.org/matthieu_pizenberg/32/6133_2.png) [@Matthieu\_Pizenberg](https://forum.opencv.org/u/Matthieu_Pizenberg)\
**Post date:** [September 27, 2022, 7:06am UTC](https://forum.opencv.org/t/findchessboardcornerssb-not-finding-corners-in-partially-visible-chessboard/10316/3 "2022-09-27T07:06:41Z")

</div>

Yeah I agree it complicates precise distortion calibration.

> this is expected. the chessboard/grid finding APIs of OpenCV require the whole thing to be in view

Actually, it seems I misread the `CALIB_CB_LARGER`documentation. It works in reverse of what I thought. Instead of giving the `findChessboardCornersSBWithMeta` function the full size board shape (which fails), I can give it a small size like `(4, 3)` and it’s capable of extending it, and returning for example a 9x5 `meta` array.

I’ll try to explore that track and see if I manage to do a full calibration with partially visible chessboards.

---

<div class="post-metadata">

**Author:** ![Matthieu\_Pizenberg](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.opencv.org/matthieu_pizenberg/32/6133_2.png) [@Matthieu\_Pizenberg](https://forum.opencv.org/u/Matthieu_Pizenberg)\
**Post date:** [September 27, 2022, 8:29am UTC](https://forum.opencv.org/t/findchessboardcornerssb-not-finding-corners-in-partially-visible-chessboard/10316/4 "2022-09-27T08:29:34Z")

</div>

Hum, doesn’t work as well as I was hoping …

 ![chessboard-partiel](https://us1.discourse-cdn.com/flex020/uploads/opencv/original/2X/1/12ee62edc193bdc8dad7b7cbc49a05dc0d641d82.jpeg)
