Здравствуйте, De-Bill, Вы писали:
DB>А самое главное, медленный и сложный в реализации: можешь начать реализовывать поиск признаков, если центр тяжести и количество замкнутых полостей ты найдёшь быстро, то на количестве вертикальных-горизонтальных чёрточек ты застрянешь
Да, это я понимаю.
Тогда, допустим, я сделаю немного другой набор дескрипторов: менее понятный для обычного человека, но лёгкий для программирования и не менее “дескриптивный”.
Например такой. Разбиваем картинку на строки, в каждой считаем число чёрных пикселей. Если у полученной функции найти среднее значение – это будет просто центр масс по оси Y. А если эту фунцию ещё домножить, например, на её абсциссу (это координата Y на исходной картинке, а на функции координата X), и найти среднее значение, то получится новый дескриптор: например, 5 он будет больше, чем для 2 (если ось Y на исходной картинке начинается сверху), поскольку у пятёрки в нижней части центр масс немного правее чем у двойки.
Другой вариант – проинтегрировать функцию, или продифференцировать, и т.д. Так получится много разнообразных дескрипторов.
Это получается как бы “недискретный”, или “аналоговый” дескриптор, не знаю как это назвать правильно. А ещё можно сделать много дискретных дескрипторов. Одним из них может служить количество полостей, как я уже писал. А другой, например, такой:
Разбиваем картинку на строки, в каждой строке считаем количество интервалов одного цвета. Далее в этой функции (“координата Y – количество интервалов”) снова находим количество интервалов в одинаковым значением.
Для 0 получится 5, а для 9 – 6 таких интервалов (а количество полостей у 0 и 9 одинаковое).
Ну а в итоге, если я это реализую (выдача этих дескрипторов будет прогоняться через небольшую нейросеть) – это будет называться стекинг?
"Ты должен сделать добро из зла, потому что его больше не из чего сделать." Р.П. Уоррен