导入图像并在其上绘制正方形

Importing an image and drawing a square on it

我正在尝试导入图像并绘制一个正方形,如下所示:

import cv2
import numpy as np
import matplotlib.pyplot as plt
import os

relpath='C:/Users/mydesktop/trainedModels/CKcollect/1/'
img=image.load_img(relpath+'S010_004_00000014.png')
plt.imshow(img)
img = cv2.rectangle(img,(384,0),(510,128),(0,255,0),3)
plt.imshow(img)

我收到此错误消息:

img = cv2.rectangle(img,(384,0),(510,128),(0,255,0),3)
TypeError: Expected Ptr<cv::UMat> for argument 'img'

使用 cv2.imread(PATH) 而不是 image.load_img(PATH) 如果它仍然不起作用确保使用图像的完整路径

使用 cv2.imread() 方法,它需要两个参数(img,flag)。第二个参数是可选的,你可以只传递你的图像,在第二个参数中你可以传递 (-1, 0, 1).

-1 或 cv2.IMREAD_COLOR:颜色,默认值

0 或 cv2.IMREAD_GRAYSCALE:灰度

1 或 cv2.IMREAD_UNCHANGED:alpha 通道