Это забавный (и полезный) проект, и это проект компьютерного зрения (искусственный интеллект, применяемый к реальным изображениям). Ссылочная платформа с открытым исходным кодом: OpenCV . У вас есть все необходимые инструменты и алгоритмы для вашего проекта. Я не дам вам рецепт, потому что, похоже, это будет ваш хобби-проект.
В конце концов, вы можете захотеть использовать интерфейс Python для вызова функций opencv, написание программы может быть немного быстрее; однако написание на c ++ для меня совершенно нормально, вам просто нужно разобраться с указателями и самостоятельно управлять памятью, которая может нуждаться в навыках. В opencv у вас есть несколько интеграций с GUI (Qt, winforms и т. Д.), И c ++ и python являются правильными языками (в частности, для PyQt и Qt).
Для создания новых алгоритмов, профессиональная практика заключается в работе с Matlab . Прототипирование с Matlab является самым быстрым. Это также самый дорогой с точки зрения денег.
В конце концов, если вы хотите использовать среду глубокого обучения, у вас есть Torch и Caffe . OpenCV может загружать модели Caffe. Но, на мой взгляд, классического компьютерного зрения должно быть достаточно. В случае с глубоким утомлением вам не нужен Matlab, хотя с 2017 года они имеют глубокую интеграцию в обучение, которая может быть немного быстрее для прототипирования.
Правильная инженерная практика - это быстрое создание прототипа (matlab или python, затем c ++ / openmp / cuda ), а затем перейти к более тяжелой работе с c ++ (вы можете экспортировать ваш Matlab функционирует в C ++). За исключением глубокого обучения, вы идете непосредственно с Lua (или Matlab), поскольку он очень тяжел для GPU (без которого вы можете забыть делать глубокое обучение), и вы позволяете большим компаниям, таким как Nvidia, выполнять низкоуровневые оптимизации в своих драйверах.
Удачи в вашем проекте!