這是使用 OpenCV 平移影像的主控台/終端機範例,支援 Windows 11 與 Ubuntu Linux 24.04。平移是最單純的仿射變換:程式建立一個 2x3 的仿射矩陣,把位移量放進矩陣的最後一欄,再交給 cv2.warpAffine 套用到影像上。影像移開之後空出來的區域會填成黑色。data/ 內附三張範例影像,結果會存到 model/shift/,不需要 GPU。
[資料夾結構]
- CLAUDE.md / AGENT.md:程式規格書(內容相同)。
- CHANGELOG.md:變更紀錄。
- copyright.txt:版權聲明。
- data/:範例影像 Lena.png(原 Notebook 使用的範例)、SC-150.png、sample.png。
- model/shift/:輸出結果 shift_y.png、shift_x.png(已附上 Lena 的範例結果)。
- tool/tools.py:共用函式。
- src/:範例程式、啟動腳本與本說明文件。
- venv/:Python 虛擬環境,由步驟 1 建立。
[執行環境需求]
- 作業系統:Windows 11 或 Ubuntu Linux 24.04。
- Python 3 與 pip。
- 相依套件記錄於 src/requirements.txt,由步驟 1 自動安裝。
- 不需要 GPU。
[操作步驟及說明]
步驟 1:建立虛擬環境
刪除舊的 venv/,重新建立虛擬環境並安裝 src/requirements.txt。若 pip 安裝失敗會直接中止並顯示錯誤訊息。
Windows 11:src\01_venv_create.bat
Ubuntu 24.04:bash src/01_venv_create.sh
步驟 2:啟用虛擬環境
啟用剛才建立的虛擬環境。Linux 請使用 source 的方式執行,否則環境變數不會套用到目前的終端機。
Windows 11:src\02_venv_activate.bat
Ubuntu 24.04:source src/02_venv_activate.sh
步驟 3:執行影像平移範例
依指定的位移量平移影像並存檔。額外的參數會直接轉交給 Python 程式。
Windows 11:src\03_shift.bat
Ubuntu 24.04:bash src/03_shift.sh
指定自己的影像與位移量:
bash src/03_shift.sh --source data/sample.png --shift-x 50 --shift-y -30
步驟 4:清除虛擬環境(選用)
不再需要時,可刪除 venv/ 資料夾以釋放磁碟空間。
Windows 11:src\99_venv_clear.bat
Ubuntu 24.04:bash src/99_venv_clear.sh
[Python 程式進入點]
- src/shift.py:參數為 [--source IMG] [--shift-x 100] [--shift-y 100] [--output-dir DIR] [--show]。
- --source:輸入影像,預設為 data/Lena.png。
- --shift-x / --shift-y:水平與垂直的位移量,預設都是 100 像素(與原 Notebook 相同)。填負值則分別往左、往上移動。
- --output-dir:輸出資料夾,預設為 model/shift/。--show 可另外開視窗顯示結果。
- 輸出 shift_y.png(向下平移)與 shift_x.png(向右平移)。
[參考資料]
- OpenCV 幾何變換教學(平移):docs.opencv.org/4.x/da/d6e/tutorial_py_geometric_transformations.html
這個 SDK 內建於 MYAI Studio 人工智慧開發工具。
單獨購買價格:5,000元,永久授權,單一 SDK 授權,單機授權,一次下載,無更新服務,一年電子郵件範例諮詢服務。如果是軟體客製化問題,請購買我們的客製化顧問服務點數。