我想将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)
UMat
具有方法get()
,返回numpy.array
。调用它,然后使用numpy
类型转换方法。E、 g然后可以将其转换回
^{pr2}$UMat
:array255fum
将为cv2.CV_32F
类型。在相关问题 更多 >
编程相关推荐