обрабатываем изображения на python
Профессия «Специалист по компьютерному зрению»:
Мастер класс
Профессия: специалист по компьютерному зрению
Сферы деятельности
  • разработка и внедрение алгоритмов и систем
  • обработка визуальной информации
  • интерпретация визуальной информации
Используемые технологии
Python, C++, Java, OpenCV, TensorFlow
Необходимые навыки
знание языков программирования, опыт работы с фреймворками
Продуктовые результаты
создание эффективных и точечных решений в области компьютерного зрения
Где учиться
ТПУ, ТУСУР, ТГУ
Где работать
IT-компании, научно-исследовательские институты, компании в области медицины и безопасности, стартапы, автомобильные компании
О чём мероприятие?
На мастер-классе участники познакомятся с основами компьютерного зрения. Специалист по компьютерному зрению создает алгоритмы и системы, которые позволяют машинам обрабатывать визуальные данные. Мы обсудим ключевые технологии и инструменты, используемые в области компьютерного зрения, а также научимся разрабатывать простые проекты, основанные на обработке изображений. Участники освоят основы работы с OpenCV и попрактикуются в создании простых моделей. Это занятие станет отличной возможностью для совместного обучения и обмена опытом, где родители и дети смогут реализовать свои идеи в мире технологий и подготовиться к карьере в перспективной области!
Для кого мероприятие?

Для детей и их родителей

Для работы вам понадобится:
Персональный компьютер или ноутбук
Полезные материалы:
Ход работы:
1. Первый шаг
Сначала переходим по ссылке https://learn.microsoft.com/ru-ru/windows/python/beginners и устанавливаем Visual Studio Code.
2. Второй шаг
Открываем Visual studio Code, создаем новый файл.
3. Третий шаг
В терминале снизу вводим «pip install opencv-python», чтобы установить библиотеку по обработке изображений.
4. Четвертый шаг
Скачайте любую картинку в папку с кодом и назовите ее «image.jpg».
Пример изображения для скачивания:
https://farrokhkarimi.github.io/images/gallery/modals/ice-m.jpg
5. Пятый шаг
Затем переписываем код ниже и запускаем программу. Строки которые начинаются с символа «#» переписывать не нужно, это комментарии к коду.
Запуск этого кода позволит вывести картинку на экран.
6. Шестой шаг
Мы видим изображение: множество цветных точек. Компьютер не умеет хранить в памяти цвета и воспринимать их. Компьютер работает с числами. Когда мы записали cv2.imshow, мы сообщили машине (компьютеру), что хотим посмотреть на переменную img, и попросили вывести её в формате изображения. Изображение – это набор пикселей, каждый из которых имеет свою строку и свой столбец. Один пиксель может отображать только один цвет, который закодирован в цветовой схеме RGB, первое число кодирует интенсивность красной (Red) составляющей цвета, второе - зелёной (Green), а третье - синей (Blue). Ниже представлены тройки чисел, кодирующие цвет в цветовой схеме RGB.
7. Седьмой шаг
Если мы запишем переменную img следующим образом и запустим программу, то все изображение станет зеленым.
8. Восьмой шаг
Если мы запишем переменную img следующим образом и запустим программу, то пиксель с координатами [0,0] (левый верхний угол) станет красным.
9. Девятый шаг
Если мы запишем переменную img следующим образом и запустим программу, то нарисуется фиолетовый прямоугольник, который ограничен диапазоном с 20 по 400 строку и с 50 по 300 столбец.
10. Десятый шаг
Для того, чтобы изменить размер изображения, воспользуемся функцией resize, в которой можно прописать разрешение, например, 640х360.
11. Одиннадцатый шаг
Что будет, если к значениям всех составляющих цвета добавить по 50? Когда вы делаете такую запись, компьютер понимает, что 50 надо добавить к каждому числу, которое есть в массиве. Попробуйте выполнить эту операцию и посмотрите, что станет с изображением.
Эффект неожиданный. Всё из-за того, что максимальное значение чисел кодирующих цвет 255. Это связано с типом переменной в которой хранится изображение.
Предположим, что на нашем изображении есть пиксель [240, 3, 255].
Если к такому пикселю прибавить 50, то должно получиться [290, 53, 305].
Однако получается, следующее [290 % 256, 53 % 256, 305 % 256] или [34, 53, 49]. % - это операция получения остатка от деления.
Значение составляющих цвета пикселя, близких к 255, стало меньше чем было. Подобный эффект называется переполнением переменной.
12. Двенадцатый шаг
Воспользуемся функцией clip(). Она ограничивает элементы массива указанным интервалом допустимых значений. Например, если указать интервал [5, 10], то все значения в массиве, которые меньше 5, примут значение равное 5, а все значения больше 10, станут равны 10.
Перепишите и запустите блок кода ниже.
13. Тринадцатый шаг
Добавив 50 к каждому элементу массива, мы выполнили повышение яркости изображения. Если уменьшать значения составляющих цвета, то получится уменьшение яркости. Если увеличивать какую-то одну составляющую, то получится эффект наложения светофильтра.
Попробуйте изменить код выше и прибавить к каждому элементу массива не "50", а другие числа.
Итоговый продукт
Участники смогли познакомиться с ключевыми технологиями и инструментами, используемых в области компьютерного зрения, а также научились разрабатывать простые проекты, основанные на обработке изображений. Участники освоили основы работы с OpenCV и попрактиковались в создании простых моделей.
Вопросы для обсуждения
1. Что нового Вы узнали?
2. Чему вы научились из данного проекта?
3. Какие новые навыки Вы сегодня получили?
4. Порекомендовали бы вы этот мастер класс вашим друзьям и знакомым?
5. Как вы думаете, как еще можно усовершенствовать данную программу?
Разработчики