Я проверяю учебник OpenCV squares.cpp. Попробуйте другую часть кода порогового уровня, используя «N», который определяется как глобальный 11. Почему нам нужно, чтобы N было определено как 11? Есть ли значение для 11 для порога?
int thresh = 50, N = 11;
// find squares in every color plane of the image
for( int c = 0; c < 3; c++ )
{
int ch[] = {c, 0};
mixChannels(timg, gray0, ch, 1);
for( int l = 0; l < N; l++ )
{
if( l == 0 )
{
Canny(gray0, gray, 0, thresh, 5);
dilate(gray, gray, UMat(), Point(-1,-1));
}
else
{
// apply threshold if l!=0:
// tgray(x,y) = gray(x,y) < (l+1)*255/N ? 255 : 0
threshold(gray0, gray, (l+1)*255/N, 255, THRESH_BINARY);
}
}