图像处理Tips(一):使用opencv和PIL读取图片

pytorch读取一张图像进行分类预测需要注意的问题(opencv、PIL)

1.我们在读取图像时可能会执行如下代码:

from PIL import Image
I = Image.open('D:/lung_project/dog_breed/test/00a3edd22dc7859c487a64777fc8d093.jpg') 
print(I.shape)

这样就会出现如下错误:

from PIL import Image

I = Image.open('D:/lung_project/dog_breed/test/00a3edd22dc7859c487a64777fc8d093.jpg') 
print(I.shape)
Traceback (most recent call last):

  File "", line 5, in <module>
    print(I.shape)

AttributeError: 'JpegImageFile' object has no attribute 'shape'

正确的写法应该是:

from PIL import Image
import numpy as np
 
I = Image.open('D:/lung_project/dog_breed/test/00a3edd22dc7859c487a64777fc8d093.jpg') 
#print(I.shape)
print(np.array(I).shape)

运行结果如下:

from PIL import Image
import numpy as np

I = Image.open('D:/lung_project/dog_breed/test/00a3edd22dc7859c487a64777fc8d093.jpg') 
#print(I.shape)

print(np.array(I).shape)
(375, 500, 3)

2.同时也要注意使用opencv和PIL读取图像的是不同的:
使用opencv读取图像之后是BGR格式的,使用PIL读取图像之后是RGB格式的。

你可能感兴趣的:(opencv,图像处理)