代码如下(示例):
# One
# 手动调整图片大小
from PIL import Image
def Image_PreProcessing():
# 待处理图片存储路径
im = Image.open(r'C:\Users\tuxia\Desktop\1.jpg')
# Resize图片大小,入口参数为一个tuple,新的图片大小
imBackground = im.resize((1000,600))
#处理后的图片的存储路径,以及存储格式
imBackground.save(r'C:\Users\tuxia\Desktop\22.jpg','JPEG')
if __name__ == "__main__":
Image_PreProcessing()
代码如下(示例):
# Two
# 根据图片大小进行等比例缩放
from PIL import Image
def Image_PreProcessing():
# 读取图片
img = Image.open(r'C:\Users\tuxia\Desktop\ss.jpg')
# 获取图片的高和宽
imagePixmap = img.size
print(imagePixmap)
# 获取具体高、宽
width = img.size[0]
height = img.size[1]
# 根据原始高和宽进行图片大小放缩
n_img = img.resize((int(width*0.6), int(height*0.6)), Image.ANTIALIAS)
# 保存图片
n_img.save(r'C:\Users\tuxia\Desktop\ss11.jpg','JPEG')
if __name__ == "__main__":
Image_PreProcessing()
代码如下(示例):
# Three
# 获取图片的kb大小
from PIL import Image
import os
def Image_PreProcessing():
# 读取图片
imagePath = os.path.join(r'C:\Users\tuxia\Desktop\2.jpg')
# 获取图片的kb大小
imageSize = os.path.getsize(imagePath)
img = imageSize / 1024 # 除以1024是代表Kb
print(img)
if __name__ == "__main__":
Image_PreProcessing()
代码如下(示例):
# 将Two 与 Three 结合
from PIL import Image
import os
def Image_PreProcessing(r_path,s_path):
img1 = imagePath = os.path.join(r_path)
imageSize = os.path.getsize(img1)
img11 = imageSize / 1024
img2 = Image.open(r_path)
imagePixmap = img2.size
width = img2.size[0]
height = img2.size[1]
n_img = img2.resize((int(width*0.65), int(height*0.6)), Image.ANTIALIAS)
n_img.save(s_path)
img3 = imagePath = os.path.join(s_path)
imageSizes = os.path.getsize(img3)
img33 = imageSizes / 1024
print('原始图片大小{}kb'.format( img11),'缩放后图片大小{}kb'.format(img33))
return True
if __name__ == "__main__":
r_path = r'C:\Users\tuxia\Desktop\1.png'
s_path = r'C:\Users\tuxia\Desktop\11.png'
Image_PreProcessing(r_path,s_path)
####################################################################
import sys
import os
import cv2
import dlib
input_dir = r'C:\Users\tuxia\Desktop\one'
output_dir = r'C:\Users\tuxia\Desktop\two'
size = 64
if not os.path.exists(output_dir):
os.makedirs(output_dir)
detector = dlib.get_frontal_face_detector()
for path in os.listdir(input_dir):
input_path=input_dir+"\\"+path
out_path=output_dir+"\\"+path
if not os.path.exists(out_path):
os.makedirs(out_path)
for img in os.listdir(input_path):
img_path = input_path + '\\' + img
out_dir=out_path+ '\\' + img
print('正在处理照片 %s' % img_path)
img = cv2.imread(img_path)
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
dets = detector(gray_img, 1)
x1 = 0;y1 = 0;x2 = 0;y2 = 0
for i, d in enumerate(dets):
x1 = d.top() if d.top() > 0 else 0
y1 = d.bottom() if d.bottom() > 0 else 0
x2 = d.left() if d.left() > 0 else 0
y2 = d.right() if d.right() > 0 else 0
face = img[x1:y1, x2:y2]
face = cv2.resize(face, (size, size))
cv2.imwrite(out_dir, face)