前言
本文是該專欄的第25篇,后面將持續分享OpenCV計算機視覺的干貨知識,記得關注。
在視覺算法落地流程中,數據預處理往往占用 60 % 以上的工程時間。以某沿海城市智慧旅游項目為例,我們從無人機錄制的 4K 海灘視頻中抽幀得到 10 000 張 PNG 原圖,分辨率 3840×2160,單張體積 5 MB。需求是:
以中心為基準裁剪成正方形;
統一縮放至 224×224,供下游 ResNet 微調;
保證像素級對齊,禁止黑邊或拉伸。
若用傳統方式(Photoshop 動作或在線工具)逐張處理,熟練工程師也需 2–3 小時;腳本單線程跑,實測 65 秒;而利用 OpenCV + 多進程優化后,僅 4.8 秒即可完成。本文記錄完整踩坑與加速過程,可遷移到醫學影像、工業質檢、遙感切片等場景。
廢話不多說,具體的細節部分以及詳細的解決方案,跟著筆者直接往下看正文詳細內容。(附帶完整代碼)
正文
1. 環境準備
# 推薦 uv 極速安裝(pip 亦可)
uv add opencv-python tqdm# 注意:完整源碼已開源:https://github.com/trflorian/image-pro