Sie können verwenden 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.
Ich habe ein PIL- Bildobjekt und möchte ein Rechteck auf dieses Bild zeichnen, aber die ImageDraw.rectangle () -Methode von PIL kann keine Linienbreite angeben.
Ich muss das Bildobjekt in das Bildformat von opencv2 konvertieren, ein Rechteck zeichnen und zurück in das Bildobjekt konvertieren . So mache ich das:
im_arr = np.asarray(im)
im_arr_bgr = cv2.cvtColor(im_arr, cv2.COLOR_RGB2BGR)
cv2.rectangle(im_arr_bgr, pts1, pts2,
color=(0, 255, 0), thickness=3)
im_arr = cv2.cvtColor(im_arr_bgr, cv2.COLOR_BGR2RGB)
im = Image.fromarray(im_arr)
DLL load failed: %1 is not a valid Win32 application
. Ich verwende Win7 64-Bit. Und Spyder- und Scikit-Bibliotheken und alles läuft 64-Bit.