PIL和opencv区别

一. opencv读取的图像

numpy维度:(HWC) BGR

二. PIL读取的图像

numpy维度:(HWC)RGB

因此,PIL读取的图像像素通道正确,(注意:虽然opencv读取像素通道不正确,但是显示没有问题,但要是转化成  【batchsize,通道数,W,H】就会有问题了,此时选用PIL才是更好的选择)

 

三. resize

PIL的resize,用下面的用法并不能直接重新缩放图片

img = img.resize((32,32))

错误原因:你之前用了这样的代码进行resize

           # img =np.array(Image.open(img_path).convert('RGB'), dtype=np.uint8)
            # img = img.resize((32,32,3))

要用原原本本的PIL格式

            img = Image.open(img_path).convert('RGB')
            img = img.resize((32, 32))
            img = np.array(img, dtype=np.uint8)
            img = transforms.ToTensor()(img)

你可能感兴趣的:(图像处理基础算法,opencv,计算机视觉,python)