【问题标题】:Importing an image and drawing a square on it导入图像并在其上绘制正方形
【发布时间】:2021-05-07 11:28:50
【问题描述】:

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

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'

【问题讨论】:

  • 使用img = cv2.imread(relpath+'S010_004_00000014.png')读取图片

标签: python opencv draw


【解决方案1】:

使用cv2.imread(PATH) 而不是image.load_img(PATH) 如果仍然无法正常工作,请确保使用图片的完整路径

【讨论】:

    【解决方案2】:

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

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

    0 或 cv2.IMREAD_GRAYSCALE :灰度

    1 或 cv2.IMREAD_UNCHANGED : alpha 通道

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-23
      • 1970-01-01
      相关资源
      最近更新 更多