请教各位彦祖亦菲:
有很多软件可以把不同的图片拼接成一张图片,以供人发布在微博或者朋友圈之类的社交平台,那有没有什么软件可以把这样『由不同尺寸的图片拼接得到的大的图片』逆向还原(剪裁)成一张张单独的小的图片的?
需求来自于:
从旅游博客的文章中看到的很多图片是长图的形式分享在文章里,由四五张不同的图片上下拼接在一起,在网页上浏览时可以滚动网页问题不大,但是保存到本地之后想要查看每张图片都要先放大再上下来回移动,感觉不太方便。
迄今为止我自己的尝试:
对于相同大小的图片组合起来的长图,写一个代码来拆很简单,简单除一下图片的数量就能得到每张图片的长宽像素自动加以分割,但是对于那种分辨率不同的图片组合起来的图片,似乎就有些棘手了。
尤其是有些图片是上面两张小图左右放置,下面是一张正方形的大图,再下面是一个长方形的大图,这个好像只能通过图片内容来判断边界。
我自己尝试用 Python 和 CV2 结合图片边界区域的像素变化来判断图片边界,感觉效果非常不理想。
请问各位有没有经验可以供参考的?不知道有没有现成的轮子可以用,或者有商业软件可以实现这种目的的?
1
skydcnmana 25 天前
边缘检测,然后匹配矩形区域,应该就行吧
|
2
fyq OP @skydcnmana 现在就是这么尝试的,对于有白边分隔的效果不错;但是对于那种两张图片之间没有清晰边框,直接拼接甚至是渐变过渡的效果就很不好。
|
3
skydcnmana 24 天前
@fyq 把图片转换成 6 阶灰度,这样大致是能找到矩形边缘的。
|
4
fyq OP @skydcnmana 好主意,我来试试看。不过还是想知道这种东西有没有别人已经实现了的,可以拿来直接用。
|
5
fyq OP 开心,终于完成了我的 ImageUnstitcher 程序,用了 cv2 和 numpy ,撒花~
|