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

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

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

aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X2pwZy94azlvdDVzVTV6aEx3MlRma0xZUzljNlRLeFM2TXdOa1NGR1JsUW1qckd1OW92SURRejJPUlFFUjUyNXVTaWFtV2VxMlJjelk3OUJFNUhSbnhVUndRaWNnLzY0MA.jpg

我要咬人了

但是这个瓜却疑点重重:

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

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

1.千图成像

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

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

aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy94azlvdDVzVTV6aEx3MlRma0xZUzljNlRLeFM2TXdOa1E0cldTSXlxWlVNMXBzY3UwZUhCdUFaNmZXY1hvMGZWRnROTk5pYU9qSk1KcGVpYnJSeXRlaWFDUS82NDA.png

2.爬取图片素材

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

aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9CbDd1bWRtd005OVpxMVVvMDBNdHdYakkySFdxZzExN0JDYWhwTUUwM25ZVkxlT2hOcEtya0RPUnA0NG1tS0Z0YWpIWVZpYkxuOGljcHJ5R0pQcVhUYXlRLzY0MA.png

3.千图成像-Python代码

代码思路梳理

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

aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy94azlvdDVzVTV6aEx3MlRma0xZUzljNlRLeFM2TXdOa2F6enA3V3FwVDlwV1FPMDJQRXpNS05ra3JhckhzdDZpYVJSa3ZpYXFzRWYyblM3YUFTaWJscXZMUS82NDA.png

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

aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy94azlvdDVzVTV6aEx3MlRma0xZUzljNlRLeFM2TXdOa3RwazlWODQweVFmVmljem9HTm1VNHlIV216QWlheWFoeTNrMVJSUHdDVzFaVnFiVHZ3aWJ3bWlhZFEvNjQw.png

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

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

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. 首先设置图片数据库aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy94azlvdDVzVTV6aEx3MlRma0xZUzljNlRLeFM2TXdOa3NuYnpzeVVTRnNjMXVpYnR0bDdrS1VOWTNvQzR6RlRGS2ljTWVncHpjSWc3UU1zMnNpY0NiOVFody82NDA.png
  • 新建数据库,并选择图片素材路径aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy94azlvdDVzVTV6aEx3MlRma0xZUzljNlRLeFM2TXdOa0ZNUERHeTRwUm0xYXJOSVlwVzE4NHp4c0kxR0Y4cmx4OFZQZ0tVZEcwdmliUnFpYWljSDBJVDNyQS82NDA.png
  1. 设置马赛克图片即图片盲板,依次设置马赛克图片路径,图片保存路径,图片素材库,马赛克参数,可重复次数、透明度等参数,最后点击Run即可aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy94azlvdDVzVTV6aEx3MlRma0xZUzljNlRLeFM2TXdOa2o0eUhpYWxSTEFsMDZPcDcxWGxVVzY2NTFDTXdrc04weWVoaWFQSnIzcnBFWGg0ZEFNUHQyeHd3LzY0MA.png
    设置马赛克图片参数aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy94azlvdDVzVTV6aEx3MlRma0xZUzljNlRLeFM2TXdOa1ExVlZnRlNBenc1Qm9lZ05lUFJxcE1icWljbldyQjVrRldpYmljSzNTVG5YNGdOd01Vamg1OTlady82NDA.png设置马赛克图片参数aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy94azlvdDVzVTV6aEx3MlRma0xZUzljNlRLeFM2TXdOa1FQR3R3SGh6aWFJdERZVHY1S2dFb211cTY0OUJHUmlhbnlzNmJhVnJrOWliNXpNNnlyTEFHWXNkQS82NDA.png
  2. 最后结果如下

aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X2pwZy94azlvdDVzVTV6aEx3MlRma0xZUzljNlRLeFM2TXdOa2dKMjVpYlZzS2t6V3lGVENZb0tZSU5VRUJXUzJUbzBsdVVNeEhkQmVSVjlDY3dVa0puVkpsOWcvNjQw.jpg


5.end

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

aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X2pwZy94azlvdDVzVTV6aEx3MlRma0xZUzljNlRLeFM2TXdOa3J1Y3NUN2R3RWNFenFhN0VrMHF1cnc3TWlieVFvY3pOc3RMRUlpYlVPS0Q2UXU2QXZweU9JRGh3LzY0MA.jpg


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


对了,可以加下行哥微信好友,私聊回复「02」可以领取5T编程资料哦

aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy94azlvdDVzVTV6amlhR3ZEeDhxUUFIQjVUOUxEaWJPWXZEakpNSks3MWEzUmRLbEdYYTNOMEpIYjN2RGlhNURLZlA2VmdSWFhGbnJZa2Q4MWxWcVlsSFBoZy82NDA.pngaHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy94azlvdDVzVTV6aWFrUEhDRzdOcWhud0pvZVl0RGxDUzFFaWNuNm9CME9VWUZUWHVraWEzeXAyeWpPSDVIcXdlYTZqNGUxUW5wNW9KYW8xdTJ1VmliTzRaV2cvNjQw.png

完整源码和软件 :在公众号【一行数据】后台回复「南山头铁鹅」可以领取

祝三连的读者马上会遇到好运!!!!!

相关文章
|
1天前
|
算法 Serverless 数据处理
从集思录可转债数据探秘:Python与C++实现的移动平均算法应用
本文探讨了如何利用移动平均算法分析集思录提供的可转债数据,帮助投资者把握价格趋势。通过Python和C++两种编程语言实现简单移动平均(SMA),展示了数据处理的具体方法。Python代码借助`pandas`库轻松计算5日SMA,而C++代码则通过高效的数据处理展示了SMA的计算过程。集思录平台提供了详尽且及时的可转债数据,助力投资者结合算法与社区讨论,做出更明智的投资决策。掌握这些工具和技术,有助于在复杂多变的金融市场中挖掘更多价值。
22 12
|
3天前
|
JSON Shell 数据格式
使用 pipx 安装并执行 Python 应用程序 (1)
使用 pipx 安装并执行 Python 应用程序 (1)
41 17
|
22天前
|
人工智能 开发者 Python
Chainlit:一个开源的异步Python框架,快速构建生产级对话式 AI 应用
Chainlit 是一个开源的异步 Python 框架,帮助开发者在几分钟内构建可扩展的对话式 AI 或代理应用,支持多种工具和服务集成。
137 9
|
28天前
|
存储 SQL 大数据
Python 在企业级应用中的两大硬伤
关系数据库和SQL在企业级应用中面临诸多挑战,如复杂SQL难以移植、数据库负担重、应用间强耦合等。Python虽是替代选择,但在大数据运算和版本管理方面存在不足。SPL(esProc Structured Programming Language)作为开源语言,专门针对结构化数据计算,解决了Python的这些硬伤。它提供高效的大数据运算能力、并行处理、高性能文件存储格式(如btx、ctx),以及一致的版本管理,确保企业级应用的稳定性和高性能。此外,SPL与Java无缝集成,适合现代J2EE体系应用,简化开发并提升性能。
|
28天前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
106 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
1月前
|
人工智能 Python
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
56 7
|
1月前
|
Shell Linux iOS开发
使用 pipx 安装并执行 Python 应用程序 (1)
使用 pipx 安装并执行 Python 应用程序 (1)
52 0
使用 pipx 安装并执行 Python 应用程序 (1)
|
1月前
|
机器学习/深度学习 存储 数据挖掘
Python图像处理实用指南:PIL库的多样化应用
本文介绍Python中PIL库在图像处理中的多样化应用,涵盖裁剪、调整大小、旋转、模糊、锐化、亮度和对比度调整、翻转、压缩及添加滤镜等操作。通过具体代码示例,展示如何轻松实现这些功能,帮助读者掌握高效图像处理技术,适用于图片美化、数据分析及机器学习等领域。
73 20
|
1月前
|
存储 人工智能 运维
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
199 48
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
|
1月前
|
存储 NoSQL 数据库连接
在Python程序中实现LevelDB的海量key的分批次扫描
通过本文的步骤,您可以在Python程序中实现对LevelDB海量key的分批次扫描。这样不仅能够有效地管理大规模数据,还可以避免一次性加载过多数据到内存中,提高程序的性能和稳定性。希望这篇指南能为您的开发工作提供实用的帮助。
74 28

热门文章

最新文章

推荐镜像

更多