图片透视裁剪的需求怎么自动化? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nowheretoseek
V2EX    问与答

图片透视裁剪的需求怎么自动化?

  •  
  •   nowheretoseek 2021-11-05 10:47:20 +08:00 2405 次点击
    这是一个创建于 1514 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有 1000 张从图书馆拍摄来的古籍照片,因为拍摄角度的原因,是上宽下窄并且有不少桌面背景,想批量裁剪好做成 pdf ,以方便后面录入、校对。拍成这样,一是可能不让影印,二是拍的人不太懂,没准备更好的拍摄设备和环境。

    Photoshop 透视裁剪好像没法自动化,一张张弄太麻烦,请教有什么好的方案。现在想到的是二值化后识别边缘获取四顶点坐标,但因为不是很规整的矩形,也不好直接截取,有什么工具可以进行透视裁剪吗?

    第 1 条附言    2021-11-06 14:17:58 +08:00
    感谢各位的建议,反馈下最终的方案。

    我用 opencv 写了个脚本,循环显示每张图片,通过鼠标点击标记 4 个或 6 个顶点(双页情形),然后调用 getPerspectiveTransform 和 warpPerspective 两个函数,透视裁剪为 1 页或 2 页,效果还不错。

    考虑到每本拍摄情况都有差异,自动监测边缘可能更麻烦,且不够准确,所以没有完全自动化;不过照片数量有限,还是可以接受的。
    23 条回复    2021-11-06 14:20:14 +08:00
    sadfQED2
        1
    sadfQED2  
       2021-11-05 10:58:54 +08:00 via Android
    依稀记得 photoshop 好像有宏功能,看看能不能写个 photoshop 的批量脚本呢
    nowheretoseek
        2
    nowheretoseek  
    OP
       2021-11-05 11:12:30 +08:00
    @sadfQED2 可是 Photoshop 似乎没有自动检测裁剪位置的功能,而照片情况复杂,没法使用统一的位置,Photoshop 怕无能为力
    BurneJones
        3
    BurneJones  
       2021-11-05 11:21:33 +08:00 via iPhone
    手工制作,估计 10-20 天就做完了。还能大概看一遍
    sadfQED2
        4
    sadfQED2  
       2021-11-05 11:21:59 +08:00
    python+opencv 自己按规则裁剪呢
    sadfQED2
        5
    sadfQED2  
       2021-11-05 11:23:29 +08:00
    你可以发张实例图片看看,另外赞同 3 楼,1000 张照片可能人工裁剪比写代码还快一下
    nowheretoseek
        6
    nowheretoseek  
    OP
       2021-11-05 11:42:26 +08:00
    @sadfQED2 @BureJones 量是不大,可我没时间搞,并且 Photoshop 一张张弄太伤神了。
    opencv 检测边缘不难,不过我不知道什么图像库可以根据边缘位置数据实现 Photoshop 那种透视裁剪,因为四顶点勾勒的肯定不是水平垂直的矩形,而是不规则梯形。

    照片可能有版权问题,打了个码 ![demo.JPG]( https://i.loli.net/2021/11/05/pRYuId6BngeWz2w.jpg)
    BurneJones
        7
    BurneJones  
       2021-11-05 11:52:05 +08:00 via iPhone
    @nowheretoseek 裁剪也可以试试其他工具。遇到这样的问题,先裁剪图片,因为我不会使用 photoshop ,所以我可能用白描、手机或电脑自带的裁剪,然后调整生成 PDF 。或者我可以把 1000 页照片排序后生成到一个 PDF 里面,然后修剪 PDF 。又因为有版权问题,不然也可以考虑付费让淘宝店人工做完 PDF 给你
    BurneJones
        8
    BurneJones  
       2021-11-05 11:53:43 +08:00 via iPhone
    效果应该达不到楼主要的效果,不过差不多可以凑合看
    0o0o0o0
        9
    0o0o0o0  
       2021-11-05 11:55:14 +08:00
    手机的 pdf 扫描 app 可能简单一点,多找几个试一试
    BurneJones
        10
    BurneJones  
       2021-11-05 11:59:03 +08:00 via iPhone
    又或者,如果书籍印刷字体比较标准,且为常见字,照片清晰度也不错,不需要完整保留文本的样式,那么也可以考虑用 OCR 工具将文字识别提取出来使用。这样可以减少裁剪时间
    lithiumii
        11
    lithiumii  
       2021-11-05 11:59:59 +08:00 via Android
    有个软件叫 scan tailor ,试试?
    1350943277
        12
    1350943277  
       2021-11-05 12:04:29 +08:00 via iPhone
    对于区区一千来张,我看用 microsoft scope 或者 scaner pro 人工裁剪并矫正透视是最省时省力又靠谱的。
    nowheretoseek
        13
    nowheretoseek  
    OP
       2021-11-05 12:15:34 +08:00
    @BurneJones 现在已经有底本了,需要对照这些图片校对。所以我的思路是裁剪好后,用古籍 OCR 做一次识别,以便将每张照片和底本的文本位置对起来,方便后续录入、校对。不裁剪好,古籍 OCR 是没法用的,这个领域的 OCR 识别率很来就很低,白描讯飞什么的都不行,要用专门的 OCR 工具。
    nowheretoseek
        14
    nowheretoseek  
    OP
       2021-11-05 12:16:31 +08:00
    @0o0o0o0 这种情况的 pdf 恐怕得自己弄,这些通用软件效果都不大行
    Muniesa
        15
    Muniesa  
       2021-11-05 12:21:07 +08:00 via Android   1
    根据四个点位置透视变换到固定尺寸,OpenCV 可以做的
    nowheretoseek
        16
    nowheretoseek  
    OP
       2021-11-05 12:22:10 +08:00
    @BurneJones 整合成 pdf 后可以用 briss 切白边统一裁剪,但它对我这个需求不大适用
    nowheretoseek
        17
    nowheretoseek  
    OP
       2021-11-05 12:27:39 +08:00
    @lithiumii 这个工具不错,能将左右两页分开,内容区域识别功能准确度也挺高,虽然不能透视裁剪,但对勾勒大致区域很有用,谢谢
    nowheretoseek
        18
    nowheretoseek  
    OP
       2021-11-05 12:37:08 +08:00
    @Muniesa 是吗,那我试试
    littlejohnny
        19
    littlejohnny  
       2021-11-05 15:49:00 +08:00
    如果大部分原稿的透视角和距离差不多(比如误差 10%以内?),且对裁剪结果精度要求不是非常高的话,PS 的批处理+动作是可以完成的。
    先用一张样例建好动作(矫正透视、宽高比、画布大小裁剪);然后执行批处理就行。
    wsxkit
        20
    wsxkit  
       2021-11-05 15:56:23 +08:00
    GeruzoniAnsasu
        21
    GeruzoniAnsasu  
       2021-11-05 16:11:04 +08:00
    PS 可以自动校正镜头视角的

    找到一个如何批量「自动」的帖子

    https://community.adobe.com/t5/camera-raw-discussions/batch-process-camera-raw-auto-correct/m-p/10432731
    BAT
        22
    BAT  
       2021-11-05 16:23:11 +08:00
    下载一个 Dropbox 去图书馆重新拍吧,比手动一张张调整还快些
    nowheretoseek
        23
    nowheretoseek  
    OP
       2021-11-06 14:20:14 +08:00
    @wsxkit 谢谢,试了下发现四角侦测不太好用,并且回车批量洗白时,有一个 bug ,会不断循环,反复处理输出。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2635 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 06:49 PVG 14:49 LAX 22:49 JFK 01:49
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86