美文网首页Python新世界编程学习
用几十万张图片来拼图!Open CV牛逼不是没有道理的!马赛克拼

用几十万张图片来拼图!Open CV牛逼不是没有道理的!马赛克拼

作者: 919b0c54458f | 来源:发表于2018-08-23 13:36 被阅读44次

这是最终得到的效果,如果你的图片集不同,或者参数设置不同,效果也会有差别。

进群:548377875   即可获取数十套PDF哦!源码就不分享给大家了!

1,收集图片素材

要做出上述的效果来,首先就需要大量的图片,图片少了,效果肯定不好,容易重复,需要的像素值找不到相近的等等弊端。人工收集图片的话肯定是非常慢的,如果要手工下载图片,那至少要找图片找很多天了。这个时候一般有两个解决途径:

爬取图片

用网络爬虫从别的网站上爬取图片是个不错的选择,也可以用python来实现。

下载图片数据集

网络上有别人已经整理好的图像数据集,我使用的是斯坦福大学李飞飞制作的ImageNet数据集。这个数据集是计算机视觉领域常用的一种数据集,它的训练集大概有100多个G,测试集有10多个G,只是测试集就有10万张图片,够本工程使用了。所以我下载的是他的测试集。网速快的话可以十来分钟就下载下来。图片数据集的迅雷下载链接

3,建立索引

建立索引就是保存每张图片出现次数最多的像素值然后保存到文件中。格式为:

文件名称:B,G,R

建立好索引文件之后,就可以知道每个图片和他们最常见的颜色。在使用这些图片的时候,就可以读取整个索引文件,然后定位到图片文件本身。试想一下,如果没有这些索引文件,那么生成一次马赛克拼图就要求一次所有图片的最多像素,太多冗余了。下面是代码:

生成的索引文件格式是这样的:

4,画图

首先是读取步骤3生成的索引文件。然后可以选择打乱它,以免一样的图片聚集出现在一个位置附近。

大功告成。

下面是我的时间统计:

下载图片用了三个多小时

图片预处理用了一个多小时

建立索引大概需要一个多小时

之后画每个一万个像素点左右的图片大概需要三分钟的时间

相关文章

  • 用几十万张图片来拼图!Open CV牛逼不是没有道理的!马赛克拼

    这是最终得到的效果,如果你的图片集不同,或者参数设置不同,效果也会有差别。 进群:548377875 即可获取数...

  • 七夕|用999张照片做个马赛克图送恋人

    很久以前看到过用千张照片拼人像的马赛克图,觉得能做出来的人一定很牛逼,就是周杰伦《天台爱情》里李心艾的那张巨幅图片...

  • [Python还能干嘛]微信好友头像完成马赛克拼图~

    马赛克拼图 何谓马赛克拼图,简单来说就是将若干小图片平凑成为一张大图,如下图路飞一样,如果放大看你会发现里面都是一...

  • Opencv笔记---No4图像的特效变换

    昨天跟大家分享了马赛克和毛玻璃效果,今天想跟大家聊一聊图片融合和边缘检测。今天在csdn读了几篇open cv的文...

  • 2018-09-19

    拼图拼视频 第一步:点击首页“拼图拼视频” 第2步:图片和视频都可以拼! 第3步:图片和视频可替换,拼图模版可更换...

  • 2018-10-23

    你若成功了 放屁都有道理 你若失败了 再有道理都是放屁 越牛逼的人越谦虚 越没本事的人越装逼 拼你想要的 争你没有...

  • 低点做人,高调作事

    你成功了放屁都有道理,你失败了再有道理都是放屁。越牛逼的人越谦虚,越没本事的人越装逼。拼你想要的争你没有的,不用...

  • 低点做人 高调做事

    你成功了放屁都有道理,你失败了再有道理都是放屁。越牛逼的人越谦虚,越没本事的人越装逼。拼你想要的争你没有的,不用...

  • Open CV

    2018年12月26日23:19:10 open CV打开图像 Open CV腐蚀图像 模糊操作 Open CV获...

  • Python---如何实现千图成像:初级篇(从图片爬取到图片合成

    千图成像:用N张图片拼凑成一张图片。实现原理:先将所要成像的图片转化成马赛克图片,然后从图库中用对应颜色的图片替换...

网友评论

本文标题:用几十万张图片来拼图!Open CV牛逼不是没有道理的!马赛克拼

本文链接:https://www.haomeiwen.com/subject/tygpiftx.html