python中的cv::UMat::convertTo

2024-09-26 22:51:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将UMat转换为其他类型。在

我已经尝试过使用UMat方法convertTo,这给我带来了以下错误:

AttributeError: 'cv2.UMat' object has no attribute 'convertTo'。在

我还尝试使用numpy方法np.float32,这显然不适用于UMat

TypeError: float() argument must be a string or a number, not 'cv2.UMat'

我将使用numpy数组,但对于其他方法,我需要使用UMat格式。在


以下是相关代码:

array255 = cv2.UMat(int(height), int(width), type=cv2.CV_8UC1, s=(255))

...

hsv_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)

...

lhsv = cv2.split(hsv_frame)
s = cv2.subtract(array255, lhsv[1])
v = cv2.subtract(array255, lhsv[2])
#s = s.convertTo(cv2.CV_32F)
#v = v.convertTo(cv2.CV_32F)
s = np.float32(s)
v = np.float32(v)

Tags: 方法numpy类型npcv2hsvframecv
1条回答
网友
1楼 · 发布于 2024-09-26 22:51:01

UMat具有方法get(),返回numpy.array。调用它,然后使用numpy类型转换方法。E、 g

array255f = array255.get().astype('f')

然后可以将其转换回UMat

^{pr2}$

array255fum将为cv2.CV_32F类型。在

相关问题 更多 >

    热门问题