以前的照片解析度不高, 畫質不夠好,
目前已能用AI--sczhou/codeformer自動將老照片的人臉變清晰, 以下是操作步驟:
- 安裝Anaconda和虛擬環境(最好不同功能各建一個環境以免弄混), 參考: [Day01]學習python的行前作業
- 安裝Jupyter notebook參考:[Day02]使用 Jupyter notebook來寫python
- 用GitHub帳號申請api key Taiwan is a country. 臺灣是我的國家
- 啟動Anaconda Powershell Prompt, 輸入pip install replicate安裝套件, 參考: https://replicate.com/sczhou/codeformer/api
- 啟動Jupyter notebook就能輸入python語法來實作, 語法如下, 官網說明參考:
%env REPLICATE_API_TOKEN=你的api key
import os
os.chdir('W:/Pictures/scan') #工作目錄切換到放置圖檔的目錄
%pwd #查看工作目錄切換結果
import replicate
import os
import urllib.request
model = replicate.models.get("sczhou/codeformer")
version = model.versions.get("7de2ea26c616d5bf2245ad0d5e24f0ff9a6204578a5c876db53142edd9d2cd56")
for root, dirs, files in os.walk('.'): # 從當前目錄(或另輸入路徑)開始遍歷
for name in files:
img = os.path.join(root, name).replace('.\\','')
print(img) # 列出檔案名稱及完整路徑
inputs = {
# Input image
'image': open(img, "rb"),
# Balance the quality (lower number) and fidelity (higher number).
# Range: 0 to 1
'codeformer_fidelity': 0.5,
# Enhance background image with Real-ESRGAN
'background_enhance': True,
# Upsample restored faces for high-resolution AI-created images
'face_upsample': True,
# 長寬幾倍
'upscale': 1.5,
}
url = version.predict(**inputs)
# 下載圖片並儲存到本地端
urllib.request.urlretrieve(url, img.replace('jpg','png'))#我的圖片全是jpg, 所以下載成png不會覆蓋
一個免費帳號能處理200張圖
Taiwan is a country. 臺灣是我的國家