Оглавление:
- Шаг 1. Требуемое программное обеспечение
- Шаг 2: загрузка изображений
- Шаг 3: Создание положительных образцов в OpenCV
- Шаг 4: Создание позитивного векторного файла
- Шаг 5: Обучение классификатора
- Шаг 6. Тестирование классификатора
- Шаг 7. Особая благодарность
Видео: Создание классификаторов изображений OpenCV с помощью Python: 7 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Классификаторы Хаара в python и opencv - довольно сложная, но легкая задача.
Мы часто сталкиваемся с проблемами при обнаружении и классификации изображений. Лучшее решение - создать свой собственный классификатор. Здесь мы учимся создавать собственные классификаторы изображений с помощью нескольких команд и длинных, но простых программ на Python.
Классификация требует большого количества негативных и позитивных изображений, негативы не содержат требуемый объект, тогда как позитивные изображения содержат объект, который необходимо обнаружить.
Требуется около 2000 негативов и позитивов. Программа python преобразует изображение в оттенки серого и подходящего размера, чтобы классификаторам потребовалось оптимальное время для создания.
Шаг 1. Требуемое программное обеспечение
Для создания собственного классификатора вам потребуется следующее программное обеспечение
1) OpenCV: я использовал версию 3.4.2. версия легко доступна в Интернете.
2) Python: используется версия 3.6.2. Можно скачать с python.org
Кроме того, вам понадобится веб-камера (конечно).
Шаг 2: загрузка изображений
Первый шаг - сделать четкое изображение классифицируемого объекта.
Размер не должен быть очень большим, так как компьютер требует больше времени для обработки. Я взял размер 50 на 50.
Далее мы загружаем негативные и позитивные изображения. Вы можете найти их в Интернете. Но мы используем код Python для загрузки изображений с
Затем мы конвертируем изображения в оттенки серого и в нормальный размер. Это также реализовано в коде. Код также удаляет все дефектные изображения.
К настоящему моменту ваш каталог должен содержать изображение объекта, например, watch5050-j.webp
Если папка с данными не создана, сделайте это вручную
Код Python предоставляется в файле.py
Шаг 3: Создание положительных образцов в OpenCV
Теперь перейдите в каталог opencv_createsamples и добавьте весь вышеупомянутый контент.
в командной строке перейдите в C: / opencv342 / build / x64 / vc14 / bin, чтобы найти приложения opencv_createsamples и opencv_traincascade
теперь выполните следующие команды
opencv_createsamples -img watch5050-j.webp
Эта команда предназначена для создания положительных образцов объекта 1950, а точнее файла описания info.lst положительных изображений, описание должно быть таким 0001_0014_0045_0028_0028-j.webp
Теперь папка содержит
информация
папка с изображениями neg
файл bg.txt
пустая папка с данными
Шаг 4: Создание позитивного векторного файла
Теперь создайте позитивный векторный файл, который обеспечивает путь к позитивным изображениям файл описания.
Используйте следующую команду
opencv_createsamples -info info / info.lst -num 1950 -w 20 -h 20 -vec positives.vec
К настоящему моменту содержимое каталога должно быть следующим:
--нег
---- negimages.jpg
--opencv
--Информация
--данные
--positives.vec
--bg.txt
--watch5050-j.webp
Шаг 5: Обучение классификатора
Теперь давайте обучим каскад haar и создадим файл xml.
Используйте следующую команду
opencv_traincascade -data data -vec positives.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStages 10 -w 20 -h 20
этапов 10. Увеличение этапов требует большей обработки, но классификатор намного эффективнее.
Теперь haarcascade создан. Для завершения требуется около двух часов. Откройте папку с данными и вы найдете здесь cascade.xml. Это классификатор, который был создан.
Шаг 6. Тестирование классификатора
Папка данных содержит файлы, как показано на изображении выше.
После создания классификатора мы смотрим, работает он или нет, запустив программу object_detect.py. Не забудьте поместить файл classifier.xml в каталог python.
Шаг 7. Особая благодарность
Я хотел бы поблагодарить Sentdex, который является отличным программистом на Python.
У него есть имя на YouTube с вышеупомянутым именем, а в видео, которое мне очень помогло, есть эта ссылка
Большая часть кода скопирована из sentdex. Несмотря на большую помощь sentdex, я все еще сталкивался с множеством проблем. Я просто хотел поделиться своим опытом.
Надеюсь, вам помогло это решение !!! Следите за новостями.
BR
Тахир Уль Хак
Рекомендуемые:
Удаление фона из нескольких изображений с помощью Photoshop 2020: 5 шагов
Удаление фона нескольких изображений с помощью Photoshop 2020: удалить фон изображения теперь очень просто! Вот как использовать Adobe Photoshop 2020 для удаления фона из нескольких (пакетных) изображений с помощью простого скрипта
Обработка изображений с помощью Raspberry Pi: установка OpenCV и разделение цвета изображения: 4 шага
Обработка изображений с помощью Raspberry Pi: установка OpenCV и разделение цвета изображения: этот пост является первым из нескольких руководств по обработке изображений, которым необходимо следовать. Мы внимательно рассмотрим пиксели, из которых состоит изображение, узнаем, как установить OpenCV на Raspberry Pi, а также написали тестовые сценарии для захвата изображения, а также c
Как разобрать компьютер с помощью простых шагов и изображений: 13 шагов (с изображениями)
Как разобрать компьютер с помощью простых шагов и изображений: это инструкция о том, как разобрать компьютер. Большинство основных компонентов имеют модульную конструкцию и легко снимаются. Однако важно, чтобы вы были организованы по этому поводу. Это поможет уберечь вас от потери деталей, а также при повторной сборке
Создание бесшовных изображений только по горизонтали или вертикали (для «GIMP»).: 11 шагов (с изображениями)
Создание бесшовных изображений только по горизонтали или вертикали (для «GIMP»): если вы попробуете плагин «Сделать бесшовные» в GIMP, он сделает изображение бесшовным как по горизонтали, так и по вертикали одновременно. Это не позволит сделать его бесшовным только в одном измерении. Это руководство поможет вам сделать има
Создание стерео графических изображений в Excel: 8 шагов (с изображениями)
Создание стерео графических изображений в Excel: стерео графические изображения могут добавить глубины трехмерным графикам