前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >吞了1000瓶老干妈的南山头铁鹅,Python制作千图成像(附上源代码和应用程序)

吞了1000瓶老干妈的南山头铁鹅,Python制作千图成像(附上源代码和应用程序)

作者头像
行哥玩Python
发布2020-07-14 17:13:21
8050
发布2020-07-14 17:13:21
举报
文章被收录于专栏:一行数据

最近的瓜可谓真有意思,南山头铁鹅也默默吞下下了1000瓶老干妈。此时用这张1000张老干妈辣椒酱图片组成的企鹅来表达最适合不过了

我要咬人了

但是这个瓜却疑点重重:

  1. 1624万的大额广告合作,期间各项物料细节对接,这三个人就这么摆平了?
  2. 三个人据说靠游戏礼包来赚钱,这能赚多少?
  3. 三个人就算骗到钱了怎么不赶紧跑路,等着被抓。能骗到大厂上千万的智商怎么会乖乖坐以待毙?

现在擂台还在,腾讯并未撤诉也未道歉,装作一个憨憨仅仅是一个蓄力的过程。什么时候腾讯撤诉了,才代表腾讯认输了。所以好戏还在后头

1.千图成像

作为一个技术博主,分享技术才是我的初心,吃瓜的同时给大家介绍一下千图成像的原理,以及如何制作

  • 千图成像:用N张图片拼凑成一张图片。
  • 实现原理:先将所要成像的图片转化成马赛克图片,然后从图库中用对应颜色的图片替换相应色块。
  • 图库中的图片处理:标记图库中每张图片的混合颜色,用于替换目标色块,并记录每张图片的特征用于成像,增加成像质量。

2.爬取图片素材

之前行哥已经已经分享过代码可以批量爬取图片,需要批量爬取图片源码或者应用程序可以看一下这篇推文

3.千图成像-Python代码

代码思路梳理

  1. 选好你需要拼凑的图片,将其切割为若干小块,切割的越细生成的图片效果会更好。

image

  1. 分别去我们之前保存的图片中找与与之最相似的,最后将其拼接完成。
  • 颜色相似 这个应该不难理解,我在代码中实现了灰度图像和RGB通道图像的筛选方法: 灰度图像:直接计算所有像素灰度值的平均值,取最接近n个图像供后期再次筛选; RGB通道:分别计算R,G,B的平均值,对于一个图像我们得到的是一个类似与[20, 30,40]的数组,然后我们计算欧式距离,取最接近n个图像供后期再次筛选。
  • 结构相似 为什么还需要结构相似,举个例子:

如果单纯按照上述方法去判定相似,那上图中的图A和图B肯定是最相似的,所以我们不能单纯的因为两张图片中包含的颜色差不多就去判断为最相似,还需要去判断颜色的“位置”也要相似。

核心代码如下,在代码中需要修改图片素材路径和蒙版图片的路径,完整源码获取方式在文末查看:

代码语言:javascript
复制

from PIL import Image
import os
import numpy as np
from tqdm import tqdm


class Config:
    corp_size = 40
    filter_size = 20
    num = 100


class PicMerge:

    def __init__(self, pic_path, mode='RGB', pic_folder='wechat'):
        pass
        return picture

    def merge(self):
        pass
        return filter_

    @staticmethod
    def rgb_mean(rgb_pic):
        pass
        return val

    def mapping_table(self, pic_folder):
        pass
        return results, pic_dic

    @staticmethod
    def pic_code(image: np.ndarray):
        pass
        return one_hot


if __name__ == "__main__":
    P = PicMerge(pic_path='一行数据头像.png', mode='RGB')
    P.merge()

4.千图成像-软件使用

后来发现有更好用的软件也给大家介绍一下,那还写什么代码。软件名称叫做【FOTO-MASK—EDDA】大家可以在网上自行下载,也可以在文末查看行哥提供的下载方式。下面介绍下该软件的使用方式:

  1. 首先设置图片数据库
  • 新建数据库,并选择图片素材路径
  1. 设置马赛克图片即图片盲板,依次设置马赛克图片路径,图片保存路径,图片素材库,马赛克参数,可重复次数、透明度等参数,最后点击Run即可

设置马赛克图片参数

设置马赛克图片参数

  1. 最后结果如下

5.end

这是行哥使用Python获取所有微信好友图像组成的千图成像,看看能不能找到你哦。(什么,想要Python获取微信好友图像代码?

参考:https://www.cnblogs.com/awesometang/p/12013595.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一行数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.千图成像
  • 2.爬取图片素材
  • 3.千图成像-Python代码
  • 4.千图成像-软件使用
  • 5.end
相关产品与服务
图片处理
图片处理(Image Processing,IP)是由腾讯云数据万象提供的丰富的图片处理服务,广泛应用于腾讯内部各产品。支持对腾讯云对象存储 COS 或第三方源的图片进行处理,提供基础处理能力(图片裁剪、转格式、缩放、打水印等)、图片瘦身能力(Guetzli 压缩、AVIF 转码压缩)、盲水印版权保护能力,同时支持先进的图像 AI 功能(图像增强、图像标签、图像评分、图像修复、商品抠图等),满足多种业务场景下的图片处理需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档