请教高手:如何长条图片自动按要求切割成固定大小的图片,以方便插入幻灯

zha7090
zha7090

创作者俱乐部成员

如文末所示图例是一个非常长的图片(为了便于大家观看,这个长图就放在本文的最后面了)。如果仔细观察,您可以发现这个长图就像电影胶片似的,除了“片头”与“片尾”的格式有差异之外,中间部分都像电影胶片似的,一格一格的(下图为其中一个单元格)。通过手工放大后,一段一段地截屏,实在是太烦琐。期待有能偷懒解决问题的方法:自动按要求截取为规格一致的图片。并按顺序编号。之后进一步插入WPS演示或文档中都将是可行之事。

当然,在WPS演示中的另一种替代方法,就是平滑放映。但是在幻灯编制过程中,如果是一个长的不可想像的图片,那就是一个让人崩溃的流程。

期待高手出现。给出快速解决问题的方法。

真心感谢您的指教!

下面是长图:

最后,感谢您耐心阅读全文。送您一朵小红花

广东省
浏览 249
1
7
分享
7 +1
22
1 +1
全部评论 22
 
Jesse
Jesse

创作者俱乐部成员

看了下评论里的自动切的方法,像这个案例,还是要用手动更精确。先不说这张图有头有尾,即便裁减掉头和尾,中间每个版块的长度也不尽相同,比如第一个版块前面先有一行注释,就要长一点;版块之间的间距,原稿其实也没做到平均,比如1、2版块的间距就要明显窄一些(如图所示)。这种情况下,指望自动切出来,不是说绝无可能,但设置这么个自动程序或者脚本的功夫,我手动都做完了……
· 重庆
回复
wils
wils

创作者俱乐部成员

确实,5张肯定手动更快 下面的代码也只是最简单的逻辑,先截取680像素,之后每450像素截一下,如果有成百上千张图,或者是网格形式的切图,也只需要修改一点点代码就能自动切 其实更准确的切法是二值化后寻找轮廓,然后把所有轮廓切出来就行了,因为通过观察可以发现,背景是红色,中间的文字都是浅色,所以opencv直接查轮廓就可以了 代码的好处是大批量切只需要修改一点点代码就可以自动完成,尤其是例子里只需要一个循环
· 广东省
回复
 
清华学弟任泽岩
清华学弟任泽岩

创作者俱乐部成员

哈哈,我在两个帖子里连着看了两遍这道题
· 辽宁省
1
回复
 
дй※®ε 哦嘞
дй※®ε 哦嘞

创作者俱乐部成员

有WPS会员的话可以使用PDF切割 https://bbs.wps.cn/topic/9958
· 江西省
1
回复
zha7090
zha7090

创作者俱乐部成员

谢谢。还是希望能更加智能化一些。
· 广东省
回复
 
wils
wils

创作者俱乐部成员

可以打开记事本,粘贴这段代码,保存为bat后缀的文件,放到a.jpg同目录下,运行即可 #ANSI&cls&powershell -NoProfile -NoLogo "gc '%~0'|out-string|iex"&pause&exit $y = 0 $h = 680 $img = New-Object -ComObject WIA.ImageFile $img.LoadFile("a.jpg") $proc = New-Object -ComObject WIA.ImageProcess $proc.Filters.Add($proc.FilterInfos("Crop").FilterID) 0..4 | %{ $proc.Filters(1).Properties("Top") = $y $proc.Filters(1).Properties("Bottom") = 2597 -$y - $h $proc.Apply($img).SaveFile("a$_.jpg") $y += $h $h = 450 }
· 广东省
1
回复
wils
wils

创作者俱乐部成员

如图所示
· 广东省
回复
 
wils
wils

创作者俱乐部成员

一般就是写个脚本切图片 图片中是imagemagick,也可以用pwsh的方便的库 用py或其他语言稍微麻烦一点 先放到office里再用脚本切会损失一点分辨率
· 广东省
1
回复
 
Jesse
Jesse

创作者俱乐部成员

【答疑】跳转链接:https://bbs.wps.cn/topic/45027
· 重庆
1
回复