Bellow是下面使用直方图反投影显示检测对象的掩码。

图像具有float32类型,该类型由算法的输出产生。我想用cv2.findContours函数来检测轮廓。
如您所知,此函数接受某种图像类型,即uint8,否则将引发ans错误。因此,我使用float32将图像类型转换为uint8。
当显示新转换的二进制图像(新uint8)时,它将显示一个黑色图像,这意味着检测到的对象不再是可见的(零掩码)。

所以我的问题是:有人知道为什么会这样,我做错了什么?
事先谢谢哈立德
发布于 2020-09-21 10:30:35
在转换为int之前,您不能缩放图像像素的值,这是您面临错误的原因。
这样做:
imageFloat *= 255
imageFloat.astype(np.uint8)https://stackoverflow.com/questions/63990338
复制相似问题