我目前正在对一些图像进行可视化处理,发现opencv的cv2.rectangle的怪异行为:
当输入图像是np.ndarray公司,比如arr,cv2.rectangle()返回一个np.ndarray公司,并用矩形绘制arr。
当输入图像是arr的某个变体时,如arr[:,:,[2,0,1]],cv2.rectangle()返回一个cv2.UMat,并且不绘制矩形。
我目前的环境是:
代码如下:
import numpy as np
import cv2
import copy
img = np.random.randint(0, 255, (100, 120, 3)).astype("uint8")
你会发现:
尝试另一种方法:
b = copy.deepcopy(img)
c = b[:, :, [2, 1, 0]]
ret = cv2.rectangle(c, (0, 0), (10, 10), color=(255, 255, 255), thickness=2)
你会发现:
我真的很好奇我的代码有什么问题吗?或者背后隐藏着什么?
目前没有回答
相关问题 更多 >
编程相关推荐