概述
先看代码
#用多种常用的读取图片的操作
import cv2
import torch
from PIL import Image
import matplotlib.image as imgplt
import numpy as np
import matplotlib.pyplot as plt
a = cv2.imread('C:/Users/14461/data2/hymenoptera_data/train/ants/0013035.jpg') # 以BGR的顺序读进来,是np数组
b = Image.open('C:/Users/14461/data2/hymenoptera_data/train/ants/0013035.jpg') # 是JpegImageFile格式的,不是数组,转化为np数组后是RGB格式
c = np.array(b) #将b转化为np数组
d = imgplt.imread(('C:/Users/14461/data2/hymenoptera_data/train/ants/0013035.jpg')) #以RGB顺序读入,是np数组
e = plt.imread('C:/Users/14461/data2/hymenoptera_data/train/ants/0013035.jpg') #以RGB顺序读入,是np数组
# a = torch.from_numpy(a) #将numpy格式的数组转化为tensor
# c = torch.from_numpy(c)
# d = torch.from_numpy(d)
# e = torch.from_numpy(e)
plt.imshow(c, cmap=plt.cm.binary)
plt.show() #显示图片
我们再看abcde的格式,我们可以看到acde是np数组,通过cv2.imread()读取的图片是BGR顺序的,而其他的方式都是RGB格式的。
那我们如何才能把cv2.imread()读进来的BGR转化为RGB的呢,看下面的这行代码
a = a[…,::-1]
pytroch 的transform.py中图像增强方法都是基于PIL图像做的,所以读取图片都需要用Image.open
最后
以上就是甜蜜猎豹为你收集整理的读取图片的几种方式的全部内容,希望文章能够帮你解决读取图片的几种方式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复