Saltar al contenido

cómo agregar borde alrededor de una imagen en opencv python

Cecilia, parte de nuestro equipo, nos hizo el favor de redactar esta crónica porque conoce a la perfección el tema.

El siguiente código agrega un borde constante de 10 píxeles de tamaño a los cuatro lados de su imagen original.

Para el color, supuse que desea utilizar el valor de gris promedio del fondo, que calculé a partir del valor medio de las dos líneas inferiores de su imagen. Lo sentimos, algo codificado, pero muestra el procedimiento general y se puede adaptar a sus necesidades.

Si deja los valores de bordersize para bottom y right en 0, incluso obtendrá un borde simétrico.

Son posibles otros valores para BORDER_TYPE, como BORDER_DEFAULT, BORDER_REPLICATE, BORDER_WRAP.

Para obtener más detalles, consulte: http://docs.opencv.org/trunk/d3/df2/tutorial_py_basic_ops.html#gsc.tab=0

import numpy as np
import cv2

im = cv2.imread('image.jpg')
row, col = im.shape[:2]
bottom = im[row-2:row, 0:col]
mean = cv2.mean(bottom)[0]

bordersize = 10
border = cv2.copyMakeBorder(
    im,
    top=bordersize,
    bottom=bordersize,
    left=bordersize,
    right=bordersize,
    borderType=cv2.BORDER_CONSTANT,
    value=[mean, mean, mean]
)

cv2.imshow('image', im)
cv2.imshow('bottom', bottom)
cv2.imshow('border', border)
cv2.waitKey(0)
cv2.destroyAllWindows()

Prueba esto:

import cv2
import numpy as np     

img=cv2.imread("img_src.jpg")
h,w=img.shape[0:2]

base_size=h+20,w+20,3
# make a 3 channel image for base which is slightly larger than target img
base=np.zeros(base_size,dtype=np.uint8)
cv2.rectangle(base,(0,0),(w+20,h+20),(255,255,255),30) # really thick white rectangle
base[10:h+10,10:w+10]=img # this works

Responde en una línea

outputImage = cv2.copyMakeBorder(
                 inputImage, 
                 topBorderWidth, 
                 bottomBorderWidth, 
                 leftBorderWidth, 
                 rightBorderWidth, 
                 cv2.BORDER_CONSTANT, 
                 value=color of border
              )

Reseñas y calificaciones del post

Si posees algún reparo y capacidad de afinar nuestro división eres capaz de añadir una ilustración y con placer lo interpretaremos.

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


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

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