图片批量简单处理

图片批量简单处理

日常办公经常需要对一堆照片或者图片进行命名归档,裁剪、旋转、二值化等操作。

文件名提取列表

在文件路径下运行CMD或者powershell,示例如下

dir *.bmp > filename.txt

输出文件列表,采用Excel进行排序处理。

文件名批量修改

  • 采用批量重命名软件

    目前觉得比较好用的是ReNamer(文件重命名工具(ReNamer)7.1中文绿色便携专业版),可以很方便的添加规则批量修改文件名,可以使用正则表达式。

  • python脚本改名

    适合于顺序排列的文件进行改名。

    import os
    import sys
    path="D:\\img"
    name="imgs" #文件名格式
    startNumber="1"
    fileType=".bmp"
    count=0
    filelist=os.listdir(path)
    for files in filelist:
        Olddir=os.path.join(path,files)
        if os.path.isdir(Olddir):
            continue
            Newdir=os.path.join(path,name+str(count+int(startNumber))+fileType)
            os.rename(Olddir,Newdir)
            count+=1
            print("修改文件数:"+str(count))
    
    

    对于乱序的文件,先采用excel确定好顺序后,生成改名前后的名称list,然后采用python脚本。

图片处理

对于图片进行处理,可以采用ImageMagick

Win版软件主要通过dos脚本convert mogrify等命令,官网有非常详细的介绍。

  • 图片信息

    identify in.png

  • 裁剪
    convert -crop 250x250+1051+1036 in.bmp out.bmp

    裁剪参数图片左上角点的像素X、Y位置+裁剪后的长和宽

  • 旋转

    convert -rotate -90 in.bmp out.bmp

  • 缩放

    convert in.png -resize 100x100 out.png

  • 二值化

    convert in.jpg -threshold 55% out.png

    二值化的麻烦在于阈值的选择

  • 图像增强

    convert in.png -contrast-stretch 15% stretch_gray_out.jpg

  • 图片黑白化

    convert in.png -monochrome out.png

  • sigmoidal 非线性对比度变换

convert logo.png -sigmoidal-contrast 10,50% logo_sigmoidal.png

这个主要处理扫描图片的增强。使用效果与设置参数有关,还与扫描文件本身质量有关

一篇博文写的比较详细:ImageMagick:批量处理图像的超级利器

批量处理

  • magemagick的命令

mogrify -path newdir -resize 200% *.png

此块还需要继续查阅资料

  • python脚本

    旋转裁剪的一个案例。其他功能也可以类推。

    import os
    for i in range(0,100):
        instr = "IR_rec0"+str(i)+".bmp"
        outstr = str(i)+".bmp"
        os.system('convert  -rotate -90  {ina} out.bmp'.format(ina=instr))
        os.system('convert  -crop 250x250+100+100 out.bmp {outa}'.format(outa=outstr))
        
    

后续

之后有用的继续补充。

日常办公效率很重要,磨刀不误砍柴工,现炒现卖。

posted on 2021-01-21 18:51  MultiSimOpt  阅读(253)  评论(0)    收藏  举报

导航