Основи інженерії штучного інтелекту 10-11 класи
Цей документ містить навчальні матеріали для учнів та вчителів курсу «Основи інженерії штучного інтелекту». Навчальна програма курсу за вибором "Основи інженерії штучного інтелекту" Автори: Рибак О.С., Радер Р.І. Протокол №7 від 19.08.2024. Зареєстровано у каталозі надання грифів навчальних матеріалів та навчальних програм № 4.0164-2024 (Текст програми (pdf))
5. Комп'ютерний зір
5.1. Бібліотека OpenCV
OpenCV (Open Source Computer Vision Library) — це одна з найпопулярніших бібліотек з відкритим кодом для роботи з комп’ютерним зором і обробкою зображень. Вона надає широкий набір інструментів і функцій для аналізу зображень, відео, виявлення об’єктів та інших завдань, пов’язаних із візуальною інформацією.
Працювати із нею ми почнемо за допомогою інструменту Пісочниця OpenCV.
OpenCV дозволяє легко працювати із зображеннями. Почнемо з читання файлу. Для цього використаємо зображення з набору даних OpenCV Sample Images, доступного на Kaggle.
- Відкрийте набір даних і створіть новий ноутбук, натиснувши кнопку "New Notebook".
- Для читання зображення виконаємо наступний код:
import cv2
import matplotlib.pyplot as plt
img1 = cv2.imread("/kaggle/input/opencv-samples-images/someshapes.jpg")
plt.imshow(img1)
OpenCV містить багато корисних алгоритмів для обробки зображень. Одним з них є пошук контурів алгоритмом Кенні (Canny). Виконайте наступний код:
img = cv2.Canny(img1, 50, 50)
plt.imshow(img, cmap="gray")
Перетворення кольорів
OpenCV дозволяє легко перетворювати зображення в різні кольорові простори, і у наступних розділах ви побачите у яких ситуаціях це може бути корисним. Наприклад, конвертуємо інше зображення на відтінки сірого. Виконаємо наступне:
- Прочитаємо зображення Origin_of_Species.jpg з набору даних.
- Використаємо функцію
cv2.cvtColor
для перетворення кольорового зображення у відтінки сірого.
img2 = cv2.imread("/kaggle/input/opencv-samples-images/Origin_of_Species.jpg")
gray_img = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)
plt.imshow(gray_img, cmap="gray")
Зміна розміру та малювання на зображенні
Для роботи із зображеннями часто потрібно змінювати їхній розмір або додавати графічні елементи. OpenCV надає зручні функції для цього. Розглянемо приклад:
- Змінимо розмір зображення.
- Намалюємо прямокутник поверх зображення.
resized_img = cv2.resize(img1, (300, 300))
cv2.rectangle(resized_img, (50, 50), (250, 250), (0, 255, 0), 3)
plt.imshow(resized_img, cv2.COLOR_BGR2RGB)