找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 3467|回复: 5

[文件操作] 跪求批量切除所有图片上下过大白边的批处理命令,内有实例。

[复制链接]
发表于 2025-8-2 13:29:52 | 显示全部楼层 |阅读模式
我电脑里已安装了imagemagick。跪求批量切除所有图片上下过大白边的批处理命令,实例如下。图片有几千张,都是网页上截取的文字内容,图片上的文字上下有大白边。

图1



图2



我电脑里已安装了imagemagick。批处理命令放到同级目录或上一级目录下运行后, 处理成下面的效果,同时上下预留出合理的白边(尺寸我可以在命令里自定义)——

图9



图10



由于图片需要拼接,所以要求只切除所有图片上下过大的白边,不处理左右的,以免合并图片时文字错位。

太谢谢诸位大神了!
发表于 2025-8-2 13:37:20 | 显示全部楼层
使用 OCR 后将文本重新排版会不会更好?
 楼主| 发表于 2025-8-2 13:47:42 | 显示全部楼层
回复 2# chishingchan


    问题是太多了 三百多个文件夹 每个文件夹里面有3-4个图片
发表于 2025-8-4 11:00:13 | 显示全部楼层
回复 3# crownking1983

我以前用过一个开源的软件, 专门处理这种白边, 忘了名字了
发表于 2025-8-10 03:28:37 | 显示全部楼层
VBS 有个脚本可以裁剪,,,,
  1. Dim Img 'As ImageFile
  2. Dim IP 'As ImageProcess  
  3. Set Img = CreateObject("WIA.ImageFile")
  4. Set IP = CreateObject("WIA.ImageProcess")  
  5. Img.LoadFile "1.JPG"  
  6. IP.Filters.Add IP.FilterInfos("Crop").FilterID
  7. IP.Filters(1).Properties("Left") = Img.Width/10
  8. IP.Filters(1).Properties("Top") = Img.Height/10
  9. IP.Filters(1).Properties("Right") = Img.Width/10
  10. IP.Filters(1).Properties("Bottom") = Img.Height/10
  11. Set Img = IP.Apply(Img)  
  12. Img.SaveFile "2.JPG"
复制代码
-------------
可以根据需要,自行研究,修改7-10行的计算参数,,,,
鄙人对VBS和JS之类脚本的认识,只停留在:认得出是何物,但说不清是何物的水平,
论坛里 我记得有好几个 JS & VB & VBS & 网页开发 & * 混编的高手的,, ,
你可以找他们请教一下的,,,,
发表于 2025-8-10 12:51:11 | 显示全部楼层
本帖最后由 aloha20200628 于 2025-8-10 13:05 编辑

回复 1# crownking1983

如果楼主只是用电脑浏览被切白之后的图片,可以尝试以下处理方法》
一。先用第一个批处脚本切除当前目录中的 *.jpg 图片,图片文件名可用 001.jpg, ..., 999.jpg 三位数命名以免位序错乱,运行结果会在当前目录下创建一个名为 tmp 的子目录(tmp 可自定义)以便保存全部被处理的结果图片。
二。再用第二个批处脚本(存在子目录 tmp 中运行)生成 test.html 网页文件(test 可自定义),并自动调用系统默认浏览器打开 test.html 即可用长图方式按序纵览全部已被切白的图片(纵览宽度预设为 500,可自定义)

脚本一》切除当前目录中 *.jpg 图片四周空白边缘

  1. @echo off &md tmp 2>nul
  2. magick mogrify -trim -path "%cd%\tmp" *.jpg
  3. pause&exit/b
复制代码
脚本二》用系统默认浏览器纵览当前目录中已被四周切白的 *.jpg 图片

  1. @echo off &setlocal &set "w=500"
  2. (echo.^<style^>img{margin:1px 2px}^</style^>&echo.^<center^>
  3. for %%F in (*.jpg) do echo.^<img src="%%F" width=%w%^>^<br^>
  4. echo.^</center^>)>"test.html"
  5. start "" "test.html" &exit/b
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 10:59 , Processed in 0.012333 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表