具體製作流程:
使用 Scrapy 框架爬取5000張二次元圖片
使用 opencv 批量格式化圖片
將圖片按照 HSV 歐式距離排序重新組合圖片, 實現效果
或者借助軟體類似 Foto-Mosaik-Edda 實現相同效果
一、安裝開發環境
安裝 Scrapy 爬蟲框架
pip install Scrapywindows 安裝可以:https://sourceforge.net/projects/pywin32/
2. 推薦使用 wheel 來安裝 opencvhttps://www.lfd.uci.edu/~gohlke/pythonlibs/
3.安裝 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,系統檢測會自動發送。