经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python » 查看文章
python批处理将图片进行放大实例代码
来源:jb51  时间:2021/12/8 14:59:24  对本文有异议

python批处理图片放大

有时候对于网络识别,将原始图片放进网络中并不能达到自己想要的效果,但是有时候如果将图片放大之后,识别率却能够达到意想不到的结果,现在提供一种将文件中的图片进行批处理放大的代码:

  1. import os
  2. ?
  3. from PIL import Image
  4. import sys
  5. #获取path目录下的所有文件
  6. def get_imlist(path):
  7. return[os.path.join(path,f)
  8. for f in os.listdir(path)]
  9. def change_size(path):
  10. directorys=get_imlist(path)
  11. for directory in directorys:
  12. #不是图片文件就跳过
  13. print(directory)
  14. if not(directory.endswith('.jpg') or directory.endswith('.png') or directory.endswith('.bmp')): ##b
  15. pass
  16. else:
  17. img=Image.open(directory)
  18. s="/"
  19. #获取文件名(含后缀)
  20. oimage_name=directory[directory.rfind(s)+1:]
  21. (oimage_width,oimage_height)=img.size
  22. new_width=oimage_width * 3
  23. new_height=oimage_height * 3
  24. out=img.resize((new_width,new_height),Image.ANTIALIAS)
  25. out.save("%s" %oimage_name) #直接替换
  26. if __name__ == '__main__':
  27. change_size("F:\桌面\\test")

python 图片比例缩放、批处理(分步骤完成)

问题:实现将像素n*n的图片 等比例缩放为 30*30

0、环境要求:Python3.x 需要安装pillow模块:

  1. pip install pillow

1、缩放一个图片:

  1. from PIL import Image
  2. img = Image.open("2.png") # 读取图片
  3. out = img.resize((30,30)) # 等比例缩放为30*30像素
  4. out.save("2.png") # 保存图片(覆盖原图)

2、批处理:

  1. /* 目录结构
  2. E:\data_eg\lip_train:
  3. ----------folder1:
  4. --------pic1.png
  5. --------pic2.png
  6. --------pic3.png
  7. ----------folder2:
  8. --------pic1.png
  9. --------pic2.png
  10. --------pic3.png
  11. --------pic4.png
  12. --------pic5.png
  13. ----------folder3:
  14. --------pic1.png
  15. --------pic2.png
  16. */
  17. import os
  18. from PIL import Image
  19. path_target = "E:\data_eg\lip_train" # liptrain路径下是文件夹,文件夹下是多张图片
  20. path_list=os.walk(path_target) # 使用os.walk()方法,遍历所有路径,文件
  21. # filenames 保存所有图片名的 list
  22. # root 保存二级目录
  23. for root, dirs, filenames in path_list:
  24. for filename in filenames: # 遍历包含 所有文件名 的list
  25. file_path = os.path.join(root,filename) # 合成得到每个图片的 绝对路径
  26. print(file_path) # 打印 绝对路径 至屏幕
  27. img = Image.open(file_path) # 打开 此绝对路径 的图片
  28. out = img.resize((30,30)) # 等比例缩放至 30*30 像素
  29. #out = img.convert('L') # 转换为灰度图像
  30. out.save(file_path) # 保存,覆盖原图片

总结

到此这篇关于python批处理将图片进行放大的文章就介绍到这了,更多相关python批处理图片放大内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号