1:展示数据集中某一张图片的颜色、尺寸和图片。
import matplotlib.pyplot as plt
from PIL import Image
img = Image.open('images/n01440764_tench.JPEG')#一定不要忘记改路径
print(img.size)
print(img.mode)
plt.imshow(img)
plt.show()
2:查看数据集里有多少张图片。
import os
import torch
path ='images' #文件夹路径
count = 0
for file in os.listdir(path): #file 表示的是文件名
count = count+1
print(count)
3:查看维度和类型。
import matplotlib.pyplot as plt
import cv2
img = cv2.imread('images/n01440764_tench.JPEG')
print(img.shape)
print(type(img))
io.imshow(img)
plt.show()
#以上代码读出来的图片会变色,是因为cv2读取彩色图片通道顺序为B、G、R,PIL显示图片是R、G、B顺序,因此读出来图片颜色会改变,需要对图像通道进行调序。
#不变色版本
import matplotlib.pyplot as plt
import cv2
from skimage import io,data
img = cv2.imread('images/n01440764_tench.JPEG')
b,g,r = cv2.split(img)
img = cv2.merge([r,g,b])
print(img.shape)
print(type(img))
io.imshow(img)
plt.show()
Image.open()读出来的图片是没有shape这个说法的,即只显示图片尺寸,没有通道数。
##深度学习过程中,需要制作训练集和验证集、测试集。
import os, random, shutil
def moveFile(fileDir):
pathDir = os.listdir(fileDir) #取图片的原始路径
filenumber=len(pathDir)
rate=0.1 #自定义抽取图片的比例,比方说100张抽10张,那就是0.1
picknumber=int(filenumber*rate) #按照rate比例从文件夹中取一定数量图片
sample = random.sample(pathDir, picknumber) #随机选取picknumber数量的样本图片
print (sample)
for name in sample:
shutil.move(fileDir+name, tarDir+name)
return
if __name__ == '__main__':
fileDir = "./source/" #源图片文件夹路径
tarDir = './result/' #移动到新的文件夹路径
moveFile(fileDir)