您的位置:首頁>正文

宅男用Python做了這個事情!女朋友在被窩偷偷哭泣

具體製作流程:

使用 Scrapy 框架爬取5000張二次元圖片

使用 opencv 批量格式化圖片

將圖片按照 HSV 歐式距離排序重新組合圖片, 實現效果

或者借助軟體類似 Foto-Mosaik-Edda 實現相同效果

一、安裝開發環境

安裝 Scrapy 爬蟲框架

pip install Scrapy

windows 安裝可以:https://sourceforge.net/projects/pywin32/

2. 推薦使用 wheel 來安裝 opencvhttps://www.lfd.uci.edu/~gohlke/pythonlibs/

3.安裝 numpy 科學計算庫

pip install numpy

4. 初始化一個 Scrapy 專案 acg

scrapy startproject acg

二、爬取圖片

更新爬取網站為 http://www.acg.fi(原先為 http://www.52dmtp.com)

添加仿流覽器頭部

為新萌修復路徑

更新可用:

1.捕獲http異常, 防止中斷

2.圖片資料讀取判斷, 防止入坑

3.爬取二級頁面分頁

以下代碼主要實現操作:

中間裁剪

統一大小

下載圖片

重複抓取

/image.py

三、生成圖片

軟體下載位址:Welcome | FMEdda | Foto-Mosaik-Edda


1.創建一個圖片資料庫

2.導入圖片

3.導入過程中

4.創建一個馬賽克風格圖片

5.打開原圖

6.選擇已經上傳的資料庫

7.生成完成

簡單高效的平民玩法到此結束。

逼格不夠?

下面分享用 Python 代碼實現該軟體的馬賽克拼圖效果。

一、安裝依賴

安裝影像處理庫 pillow

pip install pillow

二、使用 Python 做到馬賽克拼圖效果

1.使用 rgb 平均數實現類似效果

2.完成多執行緒處理圖片

取 rgb 平均值:

計算近似圖片

非洲鳥結果圖:

圖片重複比較多,效果一般,顏色並不能準確的識別,偏暗的顏色有更大的權重,所以不是非常理想,之後更新了代碼。

1.使用 hsv (顏色空間)完成顏色精准適配

2.自訂圖片重複數量

3.增加命令列進度條,增加命令列可自訂參數

4.創建完成拼圖資料庫後可以直接合成,不用重複執行創建

5.修復代碼,提高執行效率

hsv (顏色空間模型)

hsv 兩點間距離公式(歐式距離):

核心方法,使用 hsv 平均值代替二更的 rgb 平均值,效果更好。

main.py

核心方法,使用歐式距離求cost最小值

全部代碼

/main.py

命令列

-s -- save 已經存在output資料夾已經有馬賽克圖片,快速生成圖片

-i -- input 原始圖片路徑

-d -- database 爬蟲圖片資料集

-o -- output 馬賽克圖示生成路徑

-is -os 輸入(馬賽克塊)/ 輸出(生成圖) 圖片尺寸

-r --repate(int) 重複(建議在圖片集少的時候設置)

python puzzle.py -i test.jpg -d database/ -o output/

上傳一張5000張不重複結果圖

5000張宅圖資料集壓縮包,和github倉庫正在路上。。。

原創不易,歡迎點贊。

還有,鳥廚是什麼啊,聽不懂你們在說什麼,四齋蒸鵝心。

學習Python,最常見的坑有這些:

1.很難找到合適且優質的學習資源,難以下手,或者隨便找一些材料開始學習,極其容易從入門到放棄;

2.遇到問題不知道如何尋找解決辦法,甚至連問題都描述不清楚,經常被一些細小的問題卡住,學習效率不高;

3.在理論學習中無法自拔,學習很久之後,發現還是不知道如何在實際的專案中去應用,缺乏解決問題的能力;

4.看到別人的案例覺得好像是那麼回事,但是自己去寫代碼的時候依然很困難,無法訓練程式設計思維。

你是否也遇見類似這樣的情況呢?別擔心,小編給你準備了一部分精講的學習視頻,想要獲取的小夥伴私信我。私信關鍵字:001,系統檢測會自動發送。

6.選擇已經上傳的資料庫

7.生成完成

簡單高效的平民玩法到此結束。

逼格不夠?

下面分享用 Python 代碼實現該軟體的馬賽克拼圖效果。

一、安裝依賴

安裝影像處理庫 pillow

pip install pillow

二、使用 Python 做到馬賽克拼圖效果

1.使用 rgb 平均數實現類似效果

2.完成多執行緒處理圖片

取 rgb 平均值:

計算近似圖片

非洲鳥結果圖:

圖片重複比較多,效果一般,顏色並不能準確的識別,偏暗的顏色有更大的權重,所以不是非常理想,之後更新了代碼。

1.使用 hsv (顏色空間)完成顏色精准適配

2.自訂圖片重複數量

3.增加命令列進度條,增加命令列可自訂參數

4.創建完成拼圖資料庫後可以直接合成,不用重複執行創建

5.修復代碼,提高執行效率

hsv (顏色空間模型)

hsv 兩點間距離公式(歐式距離):

核心方法,使用 hsv 平均值代替二更的 rgb 平均值,效果更好。

main.py

核心方法,使用歐式距離求cost最小值

全部代碼

/main.py

命令列

-s -- save 已經存在output資料夾已經有馬賽克圖片,快速生成圖片

-i -- input 原始圖片路徑

-d -- database 爬蟲圖片資料集

-o -- output 馬賽克圖示生成路徑

-is -os 輸入(馬賽克塊)/ 輸出(生成圖) 圖片尺寸

-r --repate(int) 重複(建議在圖片集少的時候設置)

python puzzle.py -i test.jpg -d database/ -o output/

上傳一張5000張不重複結果圖

5000張宅圖資料集壓縮包,和github倉庫正在路上。。。

原創不易,歡迎點贊。

還有,鳥廚是什麼啊,聽不懂你們在說什麼,四齋蒸鵝心。

學習Python,最常見的坑有這些:

1.很難找到合適且優質的學習資源,難以下手,或者隨便找一些材料開始學習,極其容易從入門到放棄;

2.遇到問題不知道如何尋找解決辦法,甚至連問題都描述不清楚,經常被一些細小的問題卡住,學習效率不高;

3.在理論學習中無法自拔,學習很久之後,發現還是不知道如何在實際的專案中去應用,缺乏解決問題的能力;

4.看到別人的案例覺得好像是那麼回事,但是自己去寫代碼的時候依然很困難,無法訓練程式設計思維。

你是否也遇見類似這樣的情況呢?別擔心,小編給你準備了一部分精講的學習視頻,想要獲取的小夥伴私信我。私信關鍵字:001,系統檢測會自動發送。

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示