Добро пожаловать в этот туториал по арифметическим операциям с изображениями с использованием OpenCV-Python! В этом туториале мы рассмотрим операции сложения, вычитания и побитовых операций. В конце этого туториала вы глубоко поймете, как манипулировать изображениями с использованием этих базовых операций.
Сложение изображений
Сложение изображений - это процесс добавления значений пикселей к двум изображениям. В OpenCV для этого используется функция cv2.add().
Откройте Python-интерпретатор
Откройте Python-интерпретатор в терминале
python3
Загрузите два изображения
Используйте .imread, чтобы прочитать целевые изображения.
import cv2 as cv2
img1 = cv2.imread('image1.jpg')
img2 = cv2.imread('image2.jpg')
Сложите изображения
Используйте .add(), чтобы сложить два изображения, прочитанные на предыдущем шаге.
result = cv2.add(img1, img2)
Сохраните результат
Запишите результат.
cv2.imwrite('Image_Addition.jpg', result)
Пример
Полученное изображение Image_Addition.jpg выглядит так:
Смешивание изображений
Это также сложение изображений, но изображениям назначаются разные веса, чтобы создать ощущение смешивания или прозрачности. Изображения добавляются по следующей формуле:
cv.addWeighted() применяет эту формулу к изображению.
Добавьте изображения
Используйте .addWeighted(), чтобы применить формулу к изображениям, прочитанным на предыдущем шаге.
result = cv2.addWeighted(img1,0.7,img2,0.3,0)
Сохраните результат
Запишите результат.
cv2.imwrite('Image_Blending.jpg', result)
Пример
Полученное изображение Image_Blending.jpg выглядит так:
Вычитание изображений
Вычитание изображений используется для нахождения разницы между двумя изображениями. Он вычитает значения пикселей одного изображения из другого. В OpenCV вы можете использовать функцию cv2.subtract().
Вычтите изображения
Используйте .subtract(), чтобы вычесть значения пикселей изображения img1 из изображения img2.
result = cv2.subtract(img1, img2)
Сохраните результат
Запишите результат.
cv2.imwrite('Image_Subtraction.jpg', result)
Пример
Полученное изображение Image_Subtraction.jpg выглядит так:
Побитовые операции
Побитовые операции используются для манипуляции отдельными битами значений пикселей. OpenCV предоставляет функции, такие как cv2.bitwise_and(), cv2.bitwise_or(), cv2.bitwise_xor() и cv2.bitwise_not(), для выполнения побитовых операций.
Посмотрим пример каждой операции:
Побитовое И
Используйте .bitwise_and(), чтобы вычислить побитовое И бит значений пикселей в двух изображениях.
bitwise_and = cv2.bitwise_and(img1, img2)
Побитовое ИЛИ
Используйте .bitwise_or(), чтобы вычислить побитовое ИЛИ бит значений пикселей в двух изображениях.
bitwise_or = cv2.bitwise_or(img1, img2)
Побитовое исключающее ИЛИ
Используйте .bitwise_xor(), чтобы вычислить побитовое исключающее ИЛИ бит значений пикселей в двух изображениях.
bitwise_xor = cv2.bitwise_xor(img1, img2)
Побитовое НЕ
Используйте .bitwise_not(), чтобы вычислить побитовое НЕ бит значений пикселей в двух изображениях.
Поздравляем! Теперь вы узнали, как выполнять арифметические операции над изображениями с использованием OpenCV-Python. Вы изучили сложение, вычитание и побитовые операции с изображениями. Эти базовые операции могут быть очень полезными для задач обработки изображений, таких как смешивание изображений, обнаружение изменений и маскирование определенных областей изображения.
Продолжайте практиковаться и экспериментировать с разными изображениями, чтобы лучше понять, как работают эти операции. Удачи и приятной работы!