正在查看 21 个帖子:1-21 (共 21 个帖子)
  • 作者
    帖子
  • @140033 回复 ⚑举报 

    二楞书童
    游客

    请教有没有办法,可以自动或者批处理的方式,将图一的左右两边,切成图二或者图三的样子。

    使用ImageMagick、老马软件或者其他工具、程序都可以。谢谢。

    图一 --> 图二:切除多余的页面厚度画面。

    图一 --> 图三:切除多余的页面,到黑色竖线为止。

     

    图一原图:

    0047s

    图二:切边方式效果一:

    0047s_cr

    图三:切边效果二:

    0047s_cr2

    @140037 回复 ⚑举报 

    z3243
    游客

    用老马的ComicEnhancerPro(CEP)

    1.选择“扫描书籍处理”,打开图片文件夹。

    00

    2.读取图片列表后选择“版面”,在新界面的右侧用红框选取图片保留部分,“页面大小”选择“内容框大小”(如果需要保留原图尺寸,可以选择填白),然后点击“确定”。

    01

    3.点击“确定”后会返回到上一界面,这里点击“应用”,将切割的参数应用到“所有图像”。

    由于扫描图片的两侧可能宽度不同,应用后要大致翻看一下,有偏离的情况(一般是从某页开始连续)可以重复上一步的操作,返回后点击“应用到:当前图像之后的所有图像”。

    02

    4.图片切好后点击红框的位置批量导出即可。默认的位置是在原文件夹下新增的“out”文件夹

    03

    @140053 回复 ⚑举报 

    二楞书童
    游客

    谢谢z3243 详细图文解说,老马的 CEP 挺好的,但似乎只适用于处理少量图片。

    如果需要处理大量图片,有没有不需要大量人工干预的方法(例如不需要逐张图片检查)?

    @140086 回复 ⚑举报 

    崇鹂
    游客

    PS“魔棒工具”,把参数调得很深,应该可以,但比较烦难。可能要配合某种AI自动去边。

    图一:图书馆扫描这些书的时候是左右移动、歪的,图一的效果是用PS“魔棒工具”去“白边”,能做到这样已是基本居中。

    图二:书籍有厚度,随着翻动拍摄,右边书页越来越多,左边书页越来越少,版面还是有细微左右移动。而且往往颜色很接近。就是说想进一步切除“书籍厚度”,切到图二这种平面效果, 用固定的范围去裁切还是不行的,只能用PS“魔棒工具”或某种自动识别工具,重新调参数切一遍。

    搜狗截图20240606173737

    例如内阁文库这样图,抠到图二效果后,左右页歪斜、宽度不一,这些先天歪斜的图切尽了可能更不能看了。我记得那些玩拼版的大佬说过,都是一张图一张图去修的...

    @140091 回复 ⚑举报 

    二楞书童
    游客

    这种方册一般都有四条明显的黑框,如果能用 ImageMagick 或者 OpenCV 定位黑框的位置,然后以黑框位置作为参考点,删除(黑框位置+需要保留的边距)以外的,大概能切到及格水平。 AI 确实应该在这类处理能发挥很大作用。

    @140128 回复 ⚑举报 

    空空如也
    游客

    Adobe Acrobat 7.0 Professional,这个非常老的老版本(不要再升级,升级了就有问题了,WIN7安装提示错误,但不影响使用,win10没有用过),也很方便PDF文件的裁切。

    @140171 回复 ⚑举报 

    迈克猫
    游客

    我一般用X-change pdf批量裁剪,部分国图的书也可以去掉水印

    @140174 回复 ⚑举报 

    z3243
    游客

     

    如果要切的书都是这种框线很明显的(相应地,没有行线或者行线不明显,这很重要),可以用CEP在“纸张”处选择“单页”。图片里是没有调过的默认状态,你可以再试一下

     

    04

    @140473 回复 ⚑举报 

    二楞书童
    游客

    @z3243 #140174

    试了一下,确实不错。稍微美中不足的是,有些倾斜的图片,边上会出现一点白色填空,影响不大。000013-1

     

    @140476 回复 ⚑举报 

    二楞书童
    游客

    受到启发,发现“页面: 自动 梯形矫正+裁切”也不错,直接可以把版心切出来,然后再加上边栏和四边留白。
    因为四边留白是自己加的,通过 ImageMagick 应该可以在留白的时候,加上页码、书名之类的。

    1、切版心

    000013-2

    2、通过“切边”,把边栏(板框)加回去(填白颜色选黑色);
    3、再通过“切边”,加页边空白000013-2+板框+天地

    @140477 回复 ⚑举报 

    song
    游客

    我写过软件,可以检测页面四角,然后根据四角坐标截取保存图像。当然软件吗,自己写的可以连续处理n幅图像了

    @140478 回复 ⚑举报 

    song
    游客

    BottomTemplateLeftTemplateRightTemplateTopTemplate

    这是边角样本,1481668549@qq.com

    @140479 回复 ⚑举报 

    xiaopengyou
    游客

    有些好奇,不懂就問,請教:

    像如果原圖片就是不規整的,比如hathitrust上的資源,這也有辦法批量切邊成LZ圖二這種嗎?

     

    @140485 回复 ⚑举报 

    未曾
    管理员

    @xiaopengyou #140479

    按照个人的经验,大部分的方法都不能完全处理网络上不统一的发布标准

    计算机可以帮我们处理约95%的图片,还需人工校对干预处理一些

     

    @140486 回复 ⚑举报 

    又又日月
    游客

    IMG_0937苹果手机自建快捷指令 ,很方便的,可以从中间、上下、左右切。

    @140492 回复 ⚑举报 

    xiaopengyou
    游客

    @未曾 #140485

    哈哈,就以為如果能這樣精細切邊,先生所整理發佈的就應該能如此,而不會仍留有些許餘邊了。

    感謝先生解惑,謝謝!

    @140494 回复 ⚑举报 

    二楞书童
    游客

    @song #140477

    这个方法很好!不知道能不能公开详细的设计思路或者程序。我最近也在试着用 ImageMagick 的 -subimage-search 判断边栏的位置,然后切边。就是很慢。等脚本写好再发出来抛砖引玉——不过正如管理员所说,具体的处理方法只适用于特定的图片——主要是提供一点思路做参考。刚去老马博客看了看,老马刚做完大手术(幸好没事,希望早日康复)。等他康复了,看看有没有机缘咨询一下。

    cut

     

    @140502 回复 ⚑举报 

    song
    游客

    对于一系列图片来说,如果他们的四边具有近似的形状,就可以用图像识别的方法识别出图片有效画面的顶、底、左、右的坐标,接下来就是图像剪切和批量处理的问题了。

    @140504 回复 ⚑举报 

    song
    游客

    如果是大量尺寸边框基本固定的图片,可用Photoshop的自动批处理功能剪切保存就成,不必编程

    @140814 回复 ⚑举报 

    二楞书童
    游客

    测试脚本如下,只测试过 “心赋注·嘉兴藏·日本东京大学”的图片。而且需要预处理。预处理和脚本运行效果在@140494有图示。
    脚本粗陋,而且速度极慢,只是上面提到的图像识别板框思路的测试,希望可以抛砖引玉。

    脚本不能直接运行,仅供参考;如果自行运行出现问题,本人概不负责。

     

    @echo off
    setLocal EnableExtensions EnableDelayedExpansion

    rem =============== 可以修改部分 开始===========
    rem 左右留边宽度:left 110, right 110
    set /A SAVE_X=110
    set IMAGES=*.jpg
    rem 输出目录
    set OUT=切边
    set COMPARE_FILE=20x200.png
    set FILE=result.txt
    rem =============== 可以修改部分 结束===========

    powercfg.exe /hibernate off
    set /A Counter=1
    echo "出错文件:!OUT!\result.txt"
    echo "左右留边宽度=%SAVE_X%"
    echo. > !OUT!\result.txt

    for %%J in ("%IMAGES%") do (
    set file=%%~J
    set /A X_L=0
    set /A X_R=0
    echo !Counter!=!file!
    rem if !Counter! LSS 1000
    CALL :CutImageEdge !file!
    set /A Counter+=1
    )
    endLocal
    powercfg.exe /hibernate on
    Exit /B
    Pause&Exit

    :CutImageEdge
    SET file=%~1

    rem ------------ 找右边坐标 ------------------取样范围:NorthEast 300x1000+100+0
    rem for /F "tokens=2 delims=@" %%A in ( 'magick !file! -gravity East -crop 300x1000+100+0 +repage miff:- ^| compare -quiet -metric RMSE -subimage-search miff:- %COMPARE_FILE% null: 2^>^&1' ) do (
    for /F "tokens=2 delims=@" %%A in ( 'magick !file! -gravity NorthEast -crop 300x1000+100+0 +repage miff:- ^| compare -quiet -metric RMSE -subimage-search miff:- %COMPARE_FILE% null: 2^>^&1' ) do (
    echo 右版框 OFFSET=%%A & :: 如果出错,出错信息为 error/compare.c/CompareImagesCommand/1174
    CALL :GET_OFFSET "%%A",X_R
    )
    IF %ERRORLEVEL% LSS 0 Exit /B %ERRORLEVEL%

    rem 计算右边坐标 @210,66 : (300+100=比较的取样图的宽度)- (@210+20=132 黑框右边界) - 留边110 = 留边切 160(不留边切 260 )
    set /A X_R=(300+100)-(!X_R!+20)

    rem ------------ 找左边坐标 ------------------取样范围:300x1000+100+0
    for /F "tokens=2 delims=@" %%A in ( 'magick compare -quiet !file![300x1000+100+0] %COMPARE_FILE% -metric RMSE -dissimilarity-threshold 1 -subimage-search NULL: 2^>^&1' ) do (
    echo 左边栏 OFFSET=%%A
    CALL :GET_OFFSET "%%A",X_L
    )
    IF %ERRORLEVEL% LSS 0 Exit /B %ERRORLEVEL%

    rem 减去保留边宽
    set /A X_L-=!SAVE_X!
    set /A X_R-=!SAVE_X!
    echo L,R=!X_L!,!X_R!
    set LEFT_CHOP=
    set RIGHT_CHOP=

    if !X_L! LEQ 0 IF !X_R! LEQ 0 (
    echo %file% 无需处理 >> !OUT!/result.txt
    Exit /B -1
    )

    if !X_L! GTR 0 set LEFT_CHOP=-chop !X_L!x0 +repage
    if %X_R% GTR 0 set RIGHT_CHOP=-gravity East -chop !X_R!x0 +repage
    echo "magick !file! !LEFT_CHOP! !RIGHT_CHOP! !OUT!\!file!"
    magick !file! !LEFT_CHOP! !RIGHT_CHOP! !OUT!\!file!

    EXIT /B 0

    :GET_OFFSET
    SET MSG=%~1
    if NOT "!MSG!"=="!MSG:error=!" (
    echo %file% 无法处理 >> !OUT!/result.txt
    Exit /B -1
    )
    for /F "tokens=1 delims=," %%B in ("!MSG!") do (
    set OFF_X=%%B
    set /A OFF_X=!OFF_X: =!
    )
    set /A %~2=%OFF_X%
    Exit /B 0

     

    @140816 回复 ⚑举报 

    二楞书童
    游客

    用来比较的板框样本20x200图。

    20x200

正在查看 21 个帖子:1-21 (共 21 个帖子)
正在查看 21 个帖子:1-21 (共 21 个帖子)

上传图片

拖拽或点击选择图片(最多五张)

回复至:求助:图片切边问题
您的信息:



发帖/回帖前,请了解相关版规

0,邮箱地址尽量真实有效,随意填写的可能会被系统误判为垃圾内容。
1,不要开书单。单个帖子尽量发布一种书籍需求。
2,在搜索不到相关主题的情况下,尽量发新帖(发帖标题最好带上书名)。不要在他人帖子中回复某种书籍需要。
3,发帖提问标题尽量简单明了。发帖内容不要太过简略,请对书籍内容、版本或作者作简要说明。
4,出版于1973年以后的资源需求或分享将会被清理删除。