Saltar al contenido

Desenfoque de contenido de un rectángulo con Opencv

Verificamos de forma cada una de las noticias en nuestro sitio web con el objetivo de enseñarte en todo momento información certera y certera.

Solución:

El camino a seguir es configurar una región de interés (ROI) correspondiente mediante el uso de cv::Rect. Como ya tiene las ubicaciones superior izquierda e inferior derecha como cv::Points, obtienes esto más o menos gratis. Luego, simplemente use, por ejemplo, cv::GaussianBlur solo en ese ROI. Usando la API de C++, este enfoque funciona para muchos métodos de OpenCV.

El código es bastante simple, vea el siguiente fragmento:

// (Just use your frame instead.)
cv::Mat image = cv::imread("path/to/your/image.png");

// Top left and bottom right cv::Points are already defined.
cv::Point topLeft = cv::Point(60, 40);
cv::Point bottomRight = cv::Point(340, 120);

// Set up proper region of interest (ROI) using a cv::Rect from the two cv::Points.
cv::Rect roi = cv::Rect(topLeft, bottomRight);

// Only blur image within ROI.
cv::GaussianBlur(image(roi), image(roi), cv::Size(51, 51), 0);

Para alguna entrada ejemplar como esta

Aporte

el código anterior genera el siguiente resultado:

Producción

¡Espero que ayude!

Aquí está el equivalente de Python a la respuesta de @HansHirse. La idea es la misma excepto que usamos Numpy slicing para obtener el ROI

import cv2

# Read in image
image = cv2.imread('1.png')

# Create ROI coordinates
topLeft = (60, 40)
bottomRight = (340, 120)
x, y = topLeft[0], topLeft[1]
w, h = bottomRight[0] - topLeft[0], bottomRight[1] - topLeft[1]

# Grab ROI with Numpy slicing and blur
ROI = image[y:y+h, x:x+w]
blur = cv2.GaussianBlur(ROI, (51,51), 0) 

# Insert ROI back into image
image[y:y+h, x:x+w] = blur

cv2.imshow('blur', blur)
cv2.imshow('image', image)
cv2.waitKey()

Si posees alguna incertidumbre o forma de aumentar nuestro artículo puedes añadir una interpretación y con gusto lo observaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *