Как определить, является ли область изображения пустой? или Как определить наличие символа или числа в квадрате изображения? - PullRequest
0 голосов
/ 06 октября 2019

Я работал над распознаванием наборов данных MNIST для Судоку. Головоломка судоку содержит как пустые, так и непустые поля (9x9). До и после применения перспективного преобразования

Теперь я извлек каждый квадрат судоку, как показано ниже: Извлекал квадраты из судоку

Как мнеприменить модель распознавания данных MNIST только для BLOB-объектов с номерами? Как мне проверить, присутствует ли цифра в большом двоичном объекте, чтобы MNIST можно было применять только к этим двоичным объектам?

1 Ответ

0 голосов
/ 07 октября 2019

Подсчитайте количество пикселей внутри квадрата в центральной области и используйте определенный порог для подсчета белых пикселей. Количество белых пикселей можно использовать в качестве параметра для классификации пустого или непустого квадрата. В некоторых случаях это может привести к сбою в случае солевого шума в центральной области квадрата, вы можете удалить их с помощью медианного фильтра перед подсчетом белых пикселей в центральной области.

У меня есть пример для приведенной выше логики

Предполагается, что вы извлекли квадрат формы (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
...