python读取图片并修改格式与大小

本文介绍了一种使用Python批量调整图片尺寸的方法。通过PIL库读取图片,并利用OpenCV进行图片处理,实现了将指定文件夹内的所有图片统一调整为50x50像素的功能。

代码读取图片并修改文件大小:

# Author:NDK
# -*- coding:utf-8 -*-

from PIL import Image
import os
import cv2
import numpy as np
import glob
# old_dir = './test/'
# def read_image(cwd, newpath):
#     for roots, dirs, files in os.walk(cwd):
#         print(dirs)
#         for i in dirs:
#             print(i)
#             os.chdir(cwd + i)
#             for pic in glob.glob('*.png'):
#                 _, image = pic.split('_')
#                 img = image.split('.')[0]
#                 print(img)
#                 if len(img) != 0:
#                     if int(img) % 2 != 0:
#                         im = Image.open(pic)
#                         im.save(newpath + i + '/' + pic)
# read_image('./num/','./new_img/')
# for i in range(10):
root_path = r"/test/9/"    #操作文件路径
print(root_path)
# dir = root_path+"images"+"/"
dir = root_path
count = 0
for root,dir,files in os.walk(dir):
    for file in files:
        srcImg = cv2.imread(root_path+"/"+str(file))
        img = Image.open(root_path+"/"+str(file))
        print(root_path+str(file))
        newImg = img.resize((50, 50), Image.BILINEAR)   #想调整的大小
        cv2.imwrite(r'./img2/'+str(file),newImg)       #  写入文件地址
Python中,有多种库可以用来修改图片大小,以下是几种常见的方法: ### 使用Pillow库 Pillow是Python Imaging Library (PIL) 的一个分支,提供了丰富的图像处理功能。以下是使用Pillow库修改图片大小的示例代码: ```python from PIL import Image # 打开图片 image = Image.open('example.jpg') # 指定新的尺寸 new_size = (800, 600) # 调整图片大小 resized_image = image.resize(new_size) # 保存修改后的图片 resized_image.save('resized_example.jpg') ``` ### 使用OpenCV库 OpenCV是一个广泛用于计算机视觉任务的库,也可以用来修改图片大小。以下是使用OpenCV修改图片大小的示例代码: ```python import cv2 # 读取图片 image = cv2.imread('example.jpg') # 指定新的尺寸 new_size = (800, 600) # 调整图片大小 resized_image = cv2.resize(image, new_size) # 保存修改后的图片 cv2.imwrite('resized_example.jpg', resized_image) ``` ### 使用pygame库 在游戏开发中,pygame库也可以用来加载和修改图片大小,如参考示例中的代码: ```python import pygame class Ship(): def __init__(self, screen): self.screen = screen # 加载飞船图像获取其外接矩形 self.image = pygame.image.load('images/ship.bmp') # 改变飞船大小 self.image = pygame.transform.scale(self.image, (80, 60)) # 获取飞船外接矩形 self.rect = self.image.get_rect() # 获取屏幕外接矩形 self.screen_rect = screen.get_rect() # 将每艘飞船放在屏幕底部中央 self.rect.centerx = self.screen_rect.centerx self.rect.bottom = self.screen_rect.bottom ```
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值