目录
1.Image.Open()和cv2.imrad()区别,以及转换numpy
1.Image.Open()和cv2.imrad()区别,以及转换numpy
1.1 Image.Open()
img=Image.open(ImgPath) 打开的图片是PIL类型,默认是RGB
将PIL类型转化为Numpy类型:im = numpy.array(img)
看到shape属性,是(height, width, channel)数组,channel的通道数据是RGB。
1.2 cv2.imread()
img=cv2.imread(ImgPath,读取方式) 打开的图片是Numpy类型,
看到shape属性,是(height, width, channel)数组,channel的通道数据是BGR
cv2.IMREAD_COLOR:读取一副彩色图片
cv2.IMREAD_GRAYSCALE:按照灰度图读取
cv2.IMREAD_UNCHANGED:读入一幅图,包括alpha通道
1.3 两者之间转换
PIL Image转化为OpenCV格式:img = Image.open()
img = cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)
OpenCV转化为PIL Image格式:img = cv2.imread()
img2 = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
numpy转化为PIL Image格式:img = Image.fromarray(np.uint8(img))
numpy转化为Opencv格式:img = np.int8(img)
img=cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)