Добавление кругов к изображениям в Python с помощью OpenCV: подробное руководство

В этой статье блога мы рассмотрим различные методы добавления кругов к изображениям с помощью популярной библиотеки компьютерного зрения OpenCV. Мы рассмотрим различные методы на примерах кода, объясняя каждый шаг в дружелюбной и разговорной форме. Итак, давайте углубимся и узнаем, как улучшить наши изображения с помощью кругов с помощью Python!

Методы добавления кругов к изображениям:

  1. Метод 1: использование функции circle()OpenCV
    Чтобы добавить круг к изображению с помощью OpenCV, мы можем использовать функцию circle(). Эта функция принимает в качестве параметров изображение, координаты центра, радиус, цвет и толщину. Вот пример фрагмента кода:
import cv2
# Load the image
image = cv2.imread('image.jpg')
# Define circle parameters
center_coordinates = (150, 150)
radius = 50
color = (255, 0, 0)  # Blue color in BGR format
thickness = 2
# Add the circle to the image
cv2.circle(image, center_coordinates, radius, color, thickness)
# Display the modified image
cv2.imshow('Image with Circle', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
  1. Метод 2: использование массивов numpy для генерации кругов.
    Другой способ добавить круги к изображениям — использовать массивы numpy для создания формы круга. Мы можем создать черное изображение нужных размеров, а затем использовать возможности индексации numpy, чтобы присвоить форму круга. Вот пример фрагмента кода:
import cv2
import numpy as np
# Create a black image with desired dimensions
image = np.zeros((400, 400, 3), dtype=np.uint8)
# Define circle parameters
center_coordinates = (200, 200)
radius = 100
color = (0, 255, 0)  # Green color in BGR format
thickness = 3
# Generate the circle using numpy indexing
cv2.circle(image, center_coordinates, radius, color, thickness)
# Display the modified image
cv2.imshow('Image with Circle', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
  1. Метод 3: наложение прозрачных кругов с использованием альфа-смешивания.
    Если вы хотите добавить прозрачные круги к изображению, вы можете использовать альфа-смешивание. Этот метод позволяет накладывать на изображение круги с различной непрозрачностью. Вот пример фрагмента кода:
import cv2
import numpy as np
# Load the image
image = cv2.imread('image.jpg')
# Create a transparent circle overlay image
circle_overlay = np.zeros_like(image, dtype=np.uint8)
circle_color = (0, 0, 255)  # Red color in BGR format
circle_radius = 50
circle_thickness = -1  # Negative thickness creates a filled circle
# Draw the transparent circle overlay
cv2.circle(circle_overlay, center_coordinates, circle_radius, circle_color, circle_thickness)
# Perform alpha blending to overlay the circle onto the image
alpha = 0.5  # Opacity level (0.0 - fully transparent, 1.0 - fully opaque)
composite = cv2.addWeighted(image, 1 - alpha, circle_overlay, alpha, 0)
# Display the modified image
cv2.imshow('Image with Transparent Circle', composite)
cv2.waitKey(0)
cv2.destroyAllWindows()

В этой статье мы рассмотрели различные методы добавления кругов к изображениям с использованием OpenCV в Python. Мы рассмотрели использование функции OpenCV circle(), массивов numpy для генерации кругов и наложения прозрачных кругов с использованием альфа-смешивания. Эти методы обеспечивают гибкость и позволяют улучшить изображения с помощью визуально привлекательных круглых форм. Так что смело экспериментируйте с этими методами в своих проектах компьютерного зрения!