基礎準備
環境
- Node.js (LTS)版本,如 16.x 安裝完成。
- 包管理器 Yarn:
npm i -g yarn
- Redis:快取服務,最好自行再準備一個
專案準備
- 建立
output
目錄 - 執行命令
yarn
安裝依賴項
測試環境:
node 1-seeds.js
看是否能跑通不報錯。
準備工作
圖片素材準備
建立 source
目錄,按照型別放置圖片素材。
圖片素材要求:
- png 格式
- 透明背景
尺寸統一
參考目錄結構:
準備素材概率
對於 5000 張生成產物,推薦至少提供 4 種型別素材進行排列組合。如果素材概率不夠生成,執行步驟一程式碼則會死迴圈(不結束,需要手動終止)。
參考程式碼:
// 概率自行調整,總數等於 TOTAL
const RATE = {
background: [
//
3.0 * 50,
6.3 * 50,
7.0 * 50,
7.0 * 50,
7.0 * 50,
7.0 * 50,
8.0 * 50,
8.0 * 50,
8.0 * 50,
8.0 * 50,
8.0 * 50,
8.0 * 50,
8.0 * 50,
6.7 * 50
],
prop: [
//
2.5 * 50,
5.0 * 50,
5.0 * 50,
5.0 * 50,
5.5 * 50,
5.5 * 50,
5.5 * 50,
5.5 * 50,
5.4 * 50,
5.6 * 50,
6.0 * 50,
6.0 * 50,
7.5 * 50,
7.5 * 50,
7.5 * 50,
7.5 * 50,
7.5 * 50
],
character: [
0.5 * 50,
0.8 * 50,
0.8 * 50,
0.8 * 50,
0.8 * 50,
1.0 * 50,
1.0 * 50,
1.2 * 50,
1.2 * 50,
1.2 * 50,
1.5 * 50,
1.5 * 50,
1.5 * 50,
1.5 * 50,
1.5 * 50,
1.5 * 50,
1.5 * 50,
1.52 * 50,
1.52 * 50,
1.52 * 50,
1.52 * 50,
1.52 * 50,
1.52 * 50,
1.52 * 50,
1.52 * 50,
1.52 * 50,
1.52 * 50,
1.52 * 50,
1.52 * 50,
1.56 * 50,
1.0 * 50,
1.3 * 50,
1.3 * 50,
1.3 * 50,
1.5 * 50,
1.6 * 50,
1.6 * 50,
1.6 * 50,
1.6 * 50,
1.6 * 50,
1.6 * 50,
1.7 * 50,
2.0 * 50,
2.0 * 50,
2.0 * 50,
2.0 * 50,
2.0 * 50,
2.0 * 50,
2.3 * 50,
2.5 * 50,
2.5 * 50,
2.8 * 50,
2.8 * 50,
2.5 * 50,
2.5 * 50,
2.5 * 50,
2.8 * 50,
2.5 * 50,
2.5 * 50,
2.5 * 50
]
};
生成
0. 修改配置
首先需要修改 1-seeds.js
裡的各型別概率和總數。
然後需要修改 generate.js
裡的型別疊加順序。
1. 生成種子
node 1-seeds.js > 概率.log
一定要確保概率合理。
2. 批量生成任務
node 2-task.js
node 3-handle.js
如果中途報錯,修改對應的素材或者概率。然後清除 Redis 快取,重新開始。
直至生成數量達到預期後,可手動停止程式結束。
FAQ 問題解答
環境相關
對於不瞭解 Node.js 及 Redis 的,需要自行百度,都非常基礎。
依賴項安裝
Canvas 依賴:
OS | Command |
---|---|
OS X | Using Homebrew:<br/>brew install pkg-config cairo pango libpng jpeg giflib librsvg |
Ubuntu | sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev |
Fedora | sudo yum install gcc-c++ cairo-devel pango-devel libjpeg-turbo-devel giflib-devel |
Solaris | pkgin install cairo pango pkg-config xproto renderproto kbproto xextproto |
OpenBSD | doas pkg_add cairo pango png jpeg giflib |
Windows | See the wiki |
Others | See the wiki |
需要專案指導請 pm 聯絡。