python批处理将图片进行放大实例代码

目录
  • python批处理图片放大
  • python 图片比例缩放、批处理(分步骤完成)
  • 总结

python批处理图片放大

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

import os
​
from PIL import Image
import sys

#获取path目录下的所有文件
def get_imlist(path):
    return[os.path.join(path,f)
           for f in os.listdir(path)]

def change_size(path):
    directorys=get_imlist(path)
    for directory in directorys:
    #不是图片文件就跳过
        print(directory)
        if not(directory.endswith('.jpg') or directory.endswith('.png') or directory.endswith('.bmp')):  ##b
            pass
        else:
            img=Image.open(directory)
            s="/"
            #获取文件名(含后缀)
            oimage_name=directory[directory.rfind(s)+1:]
            (oimage_width,oimage_height)=img.size
            new_width=oimage_width * 3
            new_height=oimage_height * 3
            out=img.resize((new_width,new_height),Image.ANTIALIAS)
            out.save("%s" %oimage_name)  #直接替换

if __name__ == '__main__':
    change_size("F:\桌面\\test")

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

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

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

pip install pillow

1、缩放一个图片:

from PIL import Image

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

2、批处理:

/* 目录结构
E:\data_eg\lip_train:
           ----------folder1:
                     --------pic1.png
                     --------pic2.png
                     --------pic3.png
           ----------folder2:
                     --------pic1.png
                     --------pic2.png
                     --------pic3.png
                     --------pic4.png
                     --------pic5.png
           ----------folder3:
                     --------pic1.png
                     --------pic2.png
*/

import os
from PIL import Image

path_target = "E:\data_eg\lip_train"  # liptrain路径下是文件夹,文件夹下是多张图片

path_list=os.walk(path_target)        # 使用os.walk()方法,遍历所有路径,文件

# filenames 保存所有图片名的 list
# root 保存二级目录
for root, dirs, filenames in path_list:
	for filename in filenames:                         # 遍历包含 所有文件名 的list
		file_path = os.path.join(root,filename)    # 合成得到每个图片的 绝对路径
		print(file_path)                           # 打印 绝对路径 至屏幕
		img = Image.open(file_path)                # 打开 此绝对路径 的图片
		out = img.resize((30,30))                  # 等比例缩放至 30*30 像素
		#out = img.convert('L')                    # 转换为灰度图像
		out.save(file_path)                        # 保存,覆盖原图片

总结

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

(0)

相关推荐

  • 基于python代码批量处理图片resize

    出差做PPT,要放一些图片上去,原图太大必须resize,十几张图片懒得一一处理了,最近正好在学python,最好的学习方式就是使用,于是写了一个批量处理图片resize的代码,在写的过程中,熟悉了python自己的os模块和opencv的cv2模块. 代码如下 // python code import os import cv2 ''' 设置图片路径,该路径下包含了14张jpg格式的照片,名字依次为0.jpg, 1.jpg, 2.jpg,...,14.jpg''' DATADIR="D:\C

  • python批量图片处理简单示例

    本文实例讲述了python批量图片处理.分享给大家供大家参考,具体如下: #!/usr/bin/python #coding:utf-8 import os from PIL import Image #源目录 MyPath = 'C:/Users/Eric/Desktop/python_text/20161214/test_Image/' #输出目录 OutPath = 'C:/Users/Eric/Desktop/python_text/20161214/outpath/' def proc

  • python批处理将图片进行放大实例代码

    目录 python批处理图片放大 python 图片比例缩放.批处理(分步骤完成) 总结 python批处理图片放大 有时候对于网络识别,将原始图片放进网络中并不能达到自己想要的效果,但是有时候如果将图片放大之后,识别率却能够达到意想不到的结果,现在提供一种将文件中的图片进行批处理放大的代码: import os ​ from PIL import Image import sys #获取path目录下的所有文件 def get_imlist(path): return[os.path.join

  • Python批量修改图片分辨率的实例代码

    前言:处理图片需要,需把图片都转换成1920*1280的大小, python实现很方便,需要导入图片处理的Image包和匹配的glob包,很简单,代码如下: img_path = glob.glob("D:/chosed/*.jpg") path_save = "D:/closedd" for file in img_path: name = os.path.join(path_save, file) im = Image.open(file) im.thumbna

  • python+tkinter编写电脑桌面放大镜程序实例代码

    本文讲述的是通过python+tkinter编写一个简单桌面放大镜的代码示例,具体如下. 代码思路:首先全屏截图,然后在鼠标当前位置以小窗口进行二次截图,放大后再显示到鼠标左上角. 主要技术:全屏截图,指定区域截图,绑定鼠标事件,绘制图像. 建议大家照着代码敲一遍,然后运行试试.代码有一点点小瑕疵,试着发现并尝试解决. 总结 以上就是本文关于Python+tkinter编写电脑桌面放大镜程序实例代码的全部内容,希望对大家有所帮助.感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指

  • Python编程scoketServer实现多线程同步实例代码

    本文研究的主要是Python编程scoketServer实现多线程同步的相关内容,具体介绍如下. 开发过程中,为了实现不同的客户端同一时刻只能有一个使用共同数据. 虽说用Python编写简单的网络程序很方便,但复杂一点的网络程序还是用现成的框架比较好.这样就可以专心事务逻辑,而不是套接字的各种细节.SocketServer模块简化了编写网络服务程序的任务.同时SocketServer模块也是Python标准库中很多服务器框架的基础. 网络服务类: SocketServer提供了4个基本的服务类:

  • 使用python判断jpeg图片的完整性实例

    用扩展名判断文件格式非常简单,但是有可能是错误的. jpeg文件有固定的文件头,其文件头的格式如下: Start Marker | JFIF Marker | Header Length | Identifier 0xff, 0xd8 | 0xff, 0xe0 | 2-bytes | "JFIF\0" 所以可以通过文件头的方式快速判断文件格式: def is_jpg(filename): data = open(filename,'rb').read(11) if data[:4] !

  • 使用Python做垃圾分类的原理及实例代码

    0 引言 纸巾再湿也是干垃圾?瓜子皮再干也是湿垃圾??最近大家都被垃圾分类折磨的不行,傻傻的你是否拎得清?

  • python 通过 socket 发送文件的实例代码

    目录结构: client: #!/usr/bin/env python # -*-coding:utf-8 -*- import socket, struct, json download_dir = r'D:\Python\python_learning\gd\code\part3\02网络编程\文件传输\client\download' gd_client=socket.socket(socket.AF_INET,socket.SOCK_STREAM) gd_client.connect((

  • 使用Python做垃圾分类的原理及实例代码附源码

    0 引言 纸巾再湿也是干垃圾?瓜子皮再干也是湿垃圾??最近大家都被垃圾分类折磨的不行,傻傻的你是否拎得清?

  • python爬虫调度器用法及实例代码

    我们一般使用爬虫看到的都是最后的数据结果,对于整个的获取过程没有过多了解过.对于初学python的小伙伴们来说,不光是代码的练习,还是原理的分析都是必不可少的. 小编把整个爬取的过程分为了几个部分,从一开始的下载,到数据的去重解析,再到整个爬虫循环的结束,以图片和代码的双重形式展现给大家,希望能够对爬虫调度器有一个深刻的理解. 我们可以编写几个元件,每个元件完成一项功能,下图中的蓝底白字就是对这一流程的抽象: UrlManager:将存储和获取url以及url去重的几个步骤在url管理器中完成(

  • JavaScript基于SVG的图片切换效果实例代码

    最近太忙了,自动来到rjxy后,不晓得怎么回事,忙的都没时间更博了. 昨天还有个同学跟我说,你好久没更新博客了.. 甚为惭愧~~ 正好12月来了,今天开一篇. 最近上课讲到了 SVG,不晓得同学们理解到没. -_-!!! 图片轮播见的太多,今天就用 SVG 写了一个图片轮播,效果如下. 效果要求 点击控制块,图片切换.切换的时候使用圆形做遮罩,由小到大变化.每次切换的时候,圆的位置随机产生. 主要知识点 1. SVG 的裁切(遮罩),clip-path 的运用. 2. SVG 利用 JS 更改层

随机推荐