Подсчитайте количество пикселей внутри квадрата в центральной области и используйте определенный порог для подсчета белых пикселей. Количество белых пикселей можно использовать в качестве параметра для классификации пустого или непустого квадрата. В некоторых случаях это может привести к сбою в случае солевого шума в центральной области квадрата, вы можете удалить их с помощью медианного фильтра перед подсчетом белых пикселей в центральной области.
У меня есть пример для приведенной выше логики
Предполагается, что вы извлекли квадрат формы (28X28)
import numpy as np
from scipy import ndimage
square = np.random.rand(28,28) #this is the extracted square region
#crop the central square region to ignore the square edges
central_square = square[5:-5,5:-5]
denoised_square = ndimage.median_filter(central_square, 3)
#count the white pixels
white_pix_count = np.count_nonzero(denoised_square)
if white_pix_count > thresh:
empty_square = False
else:
empty_square = True