↑ 點擊上方 “一行數據” 關注 + 星標 ~
每週送書,絕不錯過
最近的瓜可謂真有意思,南山頭鐵鵝也默默吞下下了1000瓶老乾媽。此時用這張1000張老乾媽辣椒醬圖片組成的企鵝來表達最適合不過了
但是這個瓜卻疑點重重:
1624萬的大額廣告合作,期間各項物料細節對接,這三個人就這麼擺平了?
三個人據說靠遊戲禮包來賺錢,這能賺多少?
三個人就算騙到錢了怎麼不趕緊跑路,等着被抓。能騙到大廠上千萬的智商怎麼會乖乖坐以待斃?
現在擂臺還在,騰訊並未撤訴也未道歉,裝作一個憨憨僅僅是一個蓄力的過程。什麼時候騰訊撤訴了,才代表騰訊認輸了。所以好戲還在後頭
1.千圖成像
作爲一個技術博主,分享技術纔是我的初心,喫瓜的同時給大家介紹一下千圖成像的原理,以及如何製作
千圖成像:用N張圖片拼湊成一張圖片。
實現原理:先將所要成像的圖片轉化成馬賽克圖片,然後從圖庫中用對應顏色的圖片替換相應色塊。
圖庫中的圖片處理:標記圖庫中每張圖片的混合顏色,用於替換目標色塊,並記錄每張圖片的特徵用於成像,增加成像質量。
2.爬取圖片素材
之前行哥已經已經分享過代碼可以批量爬取圖片,需要批量爬取圖片源碼或者應用程序可以看一下這篇推文
3.千圖成像-Python代碼
代碼思路梳理
選好你需要拼湊的圖片,將其切割爲若干小塊,切割的越細生成的圖片效果會更好。
分別去我們之前保存的圖片中找與與之最相似的,最後將其拼接完成。
顏色相似 這個應該不難理解,我在代碼中實現了灰度圖像和RGB通道圖像的篩選方法:
灰度圖像:直接計算所有像素灰度值的平均值,取最接近n個圖像供後期再次篩選;
RGB通道:分別計算R,G,B的平均值,對於一個圖像我們得到的是一個類似與[20, 30,40]的數組,然後我們計算歐式距離,取最接近n個圖像供後期再次篩選。
結構相似 爲什麼還需要結構相似,舉個例子:
如果單純按照上述方法去判定相似,那上圖中的圖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】大家可以在網上自行下載,也可以在文末查看行哥提供的下載方式。下面介紹下該軟件的使用方式:
首先設置圖片數據庫
新建數據庫,並選擇圖片素材路徑
設置馬賽克圖片即圖片盲板,依次設置馬賽克圖片路徑,圖片保存路徑,圖片素材庫,馬賽克參數,可重複次數、透明度等參數,最後點擊Run即可
設置馬賽克圖片參數 設置馬賽克圖片參數 最後結果如下
5.end
這是行哥使用Python獲取所有微信好友圖像組成的千圖成像,看看能不能找到你哦。(什麼,想要Python獲取微信好友圖像代碼?)
參考:https://www.cnblogs.com/awesometang/p/12013595.html
往期推薦
對了,可以加下行哥微信好友,私聊回覆「02」可以領取5T編程資料哦
完整源碼和軟件 :在公衆號【一行數據】後臺回覆「南山頭鐵鵝」可以領取
祝三連的讀者馬上會遇到好運!!!!!