Я разрабатываю рукописный распознаватель цифр с набором символов Деванагари от Kaggle.Мне удалось отсканировать все изображения и обучить мою модель в Tensorflow.Теперь я не могу преобразовать свои собственные рукописные цифры, нарисованные на холсте Tkinter, в изображение формата MNIST 28x28
.Это информация о png-изображении, которое загружается с canvas.
Shape : (264, 264)
[[255 255 255 ... 255 255 255]
[255 255 255 ... 255 255 255]
[255 255 255 ... 255 255 255]
...
[255 255 255 ... 255 255 255]
[255 255 255 ... 255 255 255]
[255 255 255 ... 255 255 255]]
Теперь я хочу иметь возможность преобразовать матрицу изображения 264x264 в 28x28, применяя «нормализация и центрирование ограничивающего прямоугольника» алгоритм.Я упоминал Нормализация и центрирование изображений в MNIST , что я не совсем понял, как это работает.А также я сослался convert-images-to-mnist-format.py файл, который ориентирован на множество изображений.Поэтому было бы очень полезно, если бы было объяснение того, как работает алгоритм и как его можно использовать для нормализации и уменьшения массива в один пиксель размером 264x264
или около того.Я использую Python 3.x.
ОБНОВЛЕНИЕ: Я мог бы сделать это возможным, сегментируя изображение с помощью cv2.findContours()
, получив ограничивающий прямоугольник, а затем изменив размер изображения до необходимого размера, используяcv2.resize()
.Не уверен, что это правильный и эффективный способ сделать это.Но у меня это сработало.