puttext polylines example python opencv computer-vision draw

polylines - Cómo dibujar un rectángulo alrededor de una región de interés en python



polylines opencv python (2)

Estoy teniendo problemas con la import cv en mi código de Python.

Mi problema es que necesito dibujar un rectángulo alrededor de las regiones de interés en una imagen. ¿Cómo se puede hacer esto en python? Estoy haciendo detección de objetos y me gustaría dibujar un rectángulo alrededor de los objetos que creo que he encontrado en la imagen.


Puedes usar cv2.rectangle() :

cv2.rectangle(img, pt1, pt2, color, thickness, lineType, shift) Draws a simple, thick, or filled up-right rectangle. The function rectangle draws a rectangle outline or a filled rectangle whose two opposite corners are pt1 and pt2. Parameters img Image. pt1 Vertex of the rectangle. pt2 Vertex of the rectangle opposite to pt1 . color Rectangle color or brightness (grayscale image). thickness Thickness of lines that make up the rectangle. Negative values, like CV_FILLED , mean that the function has to draw a filled rectangle. lineType Type of the line. See the line description. shift Number of fractional bits in the point coordinates.

Tengo un objeto PIL Image y quiero dibujar un rectángulo en esta imagen, pero el método ImageDraw.rectangle() PIL no tiene la capacidad de especificar el ancho de línea. Necesito convertir el objeto de imagen al formato de imagen de opencv2 y dibujar un rectángulo y volver a convertir al objeto de imagen . Así es como lo hago:

# im is a PIL Image object im_arr = np.asarray(im) # convert rgb array to opencv''s bgr format im_arr_bgr = cv2.cvtColor(im_arr, cv2.COLOR_RGB2BGR) # pts1 and pts2 are the upper left and bottom right coordinates of the rectangle cv2.rectangle(im_arr_bgr, pts1, pts2), color=(0, 255, 0), thickness=3) im_arr = cv2.cvtColor(im_arr_bgr, cv2.COLOR_BGR2RGB) # convert back to Image object im = Image.fromarray(im_arr)


por favor, no intentes con el viejo módulo cv, usa cv2:

import cv2 cv2.rectangle(img, (x1, y1), (x2, y2), (255,0,0), 2) x1,y1 ------ | | | | | | --------x2,y2

[editar] para agregar las siguientes preguntas a continuación:

cv2.imwrite("my.png",img) cv2.imshow("lalala", img) k = cv2.waitKey(0) # 0==wait forever