Оглавление:
- Шаг 1: процесс создания
- Шаг 2: как это работает?
- Шаг 3: что он делает?
- Шаг 4: Почему я это сделал?
- Шаг 5: Улучшения и что будут делать в будущих версиях?
Видео: Процессор обработки изображений в коде Python GET1033: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Этот проект посвящен созданию моего собственного процессора изображений, закодированного на Python, для моего модуля GET1033 Exploring Computational Media Literacy. Сначала пользователю нужно будет ввести свою фотографию, а затем выбрать нужные фильтры. Я создал 9 фильтров: Показать исходное изображение, Зеркально, Поместить за решетку, Поместить за прозрачную полосу, Круговое изображение, Размытие, Поворот, Изменение цвета и Photoshop. После выбора одного из них у выходного изображения будут эффекты. Как показано на рисунке, это фильтр для изменения цвета, в котором я обнаруживаю пиксели зеленого цвета на изображении и конвертирую их в розовый цвет.
Шаг 1: процесс создания
Шаг 1. Загрузите Python отсюда!
Шаг 2: Закодируйте это!
Прежде всего, я импортировал несколько пакетов с предварительно закодированными функциями, доступными для использования в коде. Я импортировал пакеты Scipy, Matplot и Numpy.
Для Scipy я импортировал разные процедуры (MISC) и обработку многомерных изображений (NDIMAGE). MISC предназначен для чтения и сохранения изображения, тогда как NDIMAGE предназначен для выполнения фильтра Гаусса и поворота.
Для Matplotlib это библиотека для построения графиков на Python, которая предоставляет интерфейс, подобный MATLAB.
Для Numpy это библиотека, которая может поддерживать большие многомерные массивы и матрицы. Numpy важен, потому что он позволяет мне эффективно редактировать массив красных, зеленых и синих (RGB) изображений, когда я добавляю или умножаю массив. Например, A = [0, 1, 2] и при наличии Numpy A * 2 = [0, 2, 4] вместо получения A * 2 = [0, 1, 2, 0, 1, 2].
Когда я работаю над фильтром для изменения цвета, я пытаюсь преобразовать зеленые волосы девушки в розовый цвет. Итак, я обнаружил пиксели зеленого цвета на изображении и умножил их на (2, 0,2, 0,8). Таким образом, я получу девушку с розовыми волосами вместо настоящих зеленых волос.
Что касается фотошопа, я пытаюсь заменить зеленый фон на картинке Мстителей на картинку NUS. Итак, я умножил 0 на все зеленые пиксели, а затем добавил пиксели изображения NUS к зеленым пикселям. Тогда я получу фотографию Мстителей в NUS.
Я также прикрепил свой код на GitHub, и вы можете скачать его здесь!
Шаг 2: как это работает?
Блок-схема прилагается, чтобы показать, как работает весь код!
1. Сначала пользователю предлагается ввести изображение по своему выбору. 2. Затем отобразится список фильтров, из которых пользователь может выбирать. 3. Если пользователь ввел от «1» до «9», изображение будет обработано и выведено в соответствии с каждым фильтром. Если пользователь ввел 'R', вся программа будет сброшена, и пользователю будет предложено загрузить изображение еще раз. Если пользователь ввел «Q», программа выйдет из цикла.
Шаг 3: что он делает?
В этом проекте всего 9 фильтров, которые я создал, а именно
1. Показать исходное изображение - чтобы показать загруженное изображение.
2. Зеркальное изображение - отраженное дублирование объекта, но перевернутое в направлении
3. Поместить за черту - вставка черных вертикальных полос шириной и интервалом 50 пикселей.
4. Поместить за прозрачную полосу - вставка прозрачных вертикальных полос шириной и интервалом 50 пикселей.
5. Круговое изображение - чтобы сделать круг в центре изображения.
6. Размытие - размытие изображения.
7. Поворот - поворот изображения на 45 градусов.
8. Изменение цвета - изменение зеленого цвета на розовый.
9. Photoshop - чтобы заменить часть изображения другим изображением.
Шаг 4: Почему я это сделал?
Раньше мне любопытно, как в Instagram и Snapchat появились фильтры для изображений, которые сделали их такими интересными. После лекции и руководства по дополненной реальности я хотел заняться чем-то связанным с этим, но я хотел бы начать с базового, а именно с обработки изображений, потому что я слаб в программировании и хотел бы изучить кодирование на Python.
Шаг 5: Улучшения и что будут делать в будущих версиях?
Одним из улучшений этого проекта является создание моих собственных фильтров лиц в видео в реальном времени с использованием Python. Я пытался закодировать это, но мне не удалось добиться ни одного из них из-за отсутствия знаний в области программирования и ограничений по времени. Кроме того, процессор изображений может быть «умнее», когда он может автоматически определять цвета и изменять только те части, которые нам нужны. Был случай, когда я пытаюсь изменить черные волосы человека на другой цвет. В итоге я меняю цвет глаз и волос на синий, что делает картинку очень странной. Я надеюсь, что смогу создать собственное лицо
Рекомендуемые:
Система распознавания и тушения пожара на основе обработки изображений: 3 шага
Система распознавания и тушения пожара на основе обработки изображений: Здравствуйте, друзья, это система обнаружения и тушения пожара на основе обработки изображений с использованием Arduino
Gesture Hawk: робот, управляемый жестами руки, с использованием интерфейса на основе обработки изображений: 13 шагов (с изображениями)
Gesture Hawk: робот, управляемый жестами руки, использующий интерфейс на основе обработки изображений: Gesture Hawk был продемонстрирован в TechEvince 4.0 как простой человеко-машинный интерфейс на основе обработки изображений. Его полезность заключается в том, что для управления роботизированной машиной, которая работает на разных
Как разобрать компьютер с помощью простых шагов и изображений: 13 шагов (с изображениями)
Как разобрать компьютер с помощью простых шагов и изображений: это инструкция о том, как разобрать компьютер. Большинство основных компонентов имеют модульную конструкцию и легко снимаются. Однако важно, чтобы вы были организованы по этому поводу. Это поможет уберечь вас от потери деталей, а также при повторной сборке
Создание классификаторов изображений OpenCV с помощью Python: 7 шагов
Создание классификаторов изображений OpenCV с использованием Python: классификаторы Хаара в python и opencv - довольно сложная, но легкая задача. Мы часто сталкиваемся с проблемами при обнаружении и классификации изображений. Лучшее решение - создать свой собственный классификатор. Здесь мы учимся создавать наши собственные классификаторы изображений с помощью нескольких комм
Тональный генератор микроконтроллера в C-коде: 8 шагов (с изображениями)
Генератор тона микроконтроллера на языке C: в конце октября прошлого года пользователь Instructables carmitsu отправил мне сообщение, увидев мой синтезатор для ланчбокса. Из его сообщения: Я преподаю музыку в начальной школе. Мы много играем на магнитофонах. то есть дети играют на маленьких флейтах … У меня разорвано