Я люблю узнавать что-то новое, и я решил начать ставить себе несколько ежемесячных задач, чтобы получить шанс познакомиться с технологиями, с которыми я обычно не работаю.
В качестве первой задачи я решил сосредоточиться на изучении Java, создав прототип приложения для Android. Концепция приложения заключается в переводе текста на азбуку Морзе с помощью фонарика мобильного телефона и переводе азбуки Морзе в текст с помощью компьютерного зрения.
Я начал это задание, почти не зная Java, Android или компьютерное зрение. Конечный результат не работает на 100%, и код оставляет желать лучшего, но я очень доволен всем, чему научился на этом пути! : D
Процесс
Я пытался тратить на это несколько часов в день, но, поскольку мне также нравится заниматься другими делами, я пропустил несколько дней.
Я задокументировал свои шаги, написав короткие записи в этом посте. Это больше похоже на помойку мозгов (см. Ниже), так что вам не обязательно ее читать.
Написание небольшого абзаца каждый раз, когда у меня была возможность поработать над ним, позволило мне задуматься о шагах, которые я предпринимал, чтобы достичь своей конечной цели. Я также сохранил ссылки на ресурсы, чтобы при необходимости легко получить к ним доступ.
Обучение
Не могу сказать, что сейчас я эксперт по Java / Android (в любом случае это не было целью), но я действительно многому научился! Например:
- Как настроить базовое приложение для Android.
- Как использовать Android Studio.
- Основы языка программирования Java.
- Различные элементы приложения для Android (действия, манифесты, макеты, доступные ресурсы и т. Д.).
- Как импортировать библиотеки в Android-проект.
- Как получить доступ к фонарику.
- Как отобразить превью камеры.
- Основы OpenCV в Java.
- Как выполнять обработку изображений в OpenCV (преобразование в оттенки серого, размытие, обнаружение blob и т. Д.).
И я, наверное, кое-что забываю.
Конечно, по пути я много гуглил, это было непросто, и я почти уверен, что не понимаю на 100% из того, что написал, но я действительно счастлив, что мне удалось поэкспериментировать со всем этим . : D
Вы можете найти репозиторий Github здесь, если хотите взглянуть.