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

yipeiwu_com6年前Python基础

本文实例为大家分享了python读取图片并修改文件大小的具体代码,供大家参考,具体内容如下

# 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设计】。

相关文章

解决Python一行输出不显示的问题

在使用python函数print()时,如下代码会出现输出无法显示的问题: 分三次在一行输出 123 print(1, end="") print(2, end="") print(...

Python timer定时器两种常用方法解析

这篇文章主要介绍了Python timer定时器两种常用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 方法一,使用线程中现成...

TensorFlow的权值更新方法

一. MovingAverage权值滑动平均更新 1.1 示例代码: def create_target_q_network(self,state_dim,action_dim,ne...

python同时遍历数组的索引和值的实例

你想在迭代一个序列的同时跟踪正在被处理的元素索引。 获取索引 内置的 enumerate() 函数可以很好的解决这个问题: >>> my_list = ['a',...

python3中函数参数的四种简单用法

下面给大家介绍python3中函数参数的四种简单用法,具体内容如下所示: def print_two(*args): arg1, arg2 = args print "arg...