之所以图像出现黑色,是因为在opencv处理image图像矩阵时候,可以输入两种数据范围,一个为[0,255],另外一个为[0,1]。当图像矩阵为小数,比如122.5的时候,opencv会以[0,1]来处理图像数据,而此时122.5超过数据范围[0,1],会被认为是无效数据,然后显示为黑像素点。
所以在图像数据输入的时候,建议加上如下代码:
img_data = numpy.array()#假设图像数据是个矩阵
img_data.astype(numpy.uint8)
之所以图像出现黑色,是因为在opencv处理image图像矩阵时候,可以输入两种数据范围,一个为[0,255],另外一个为[0,1]。当图像矩阵为小数,比如122.5的时候,opencv会以[0,1]来处理图像数据,而此时122.5超过数据范围[0,1],会被认为是无效数据,然后显示为黑像素点。
所以在图像数据输入的时候,建议加上如下代码:
img_data = numpy.array()#假设图像数据是个矩阵
img_data.astype(numpy.uint8)