[心得] 圖片/影片/全景圖自動拼接工具

看板C_Chat (希洽)作者 (阿緯)時間7月前 (2025/05/01 16:46), 編輯推噓6(601)
留言7則, 6人參與, 7月前最新討論串1/1
圖片/影片/全景圖自動拼接工具(ImageStitcherByOpenCV) https://huggingface.co/spaces/avans06/ImageStitcherByOpenCV 在動畫中常常會有由左至右或由下至上來過場顯示一張大圖 若想將之恢復為原始的大圖 在過去需要將多張圖片透過PS等軟體來拼接合併 但合併時你可能會發現每張圖片 亮度對比或人物比例大小存在些微的不同 導致合併上會遇到許多困難 說到圖片拼接工具 幾乎沒聽過是要拼接動畫圖片 一般來說都是為了照片的全景圖而存在的 而這個工具就是為此需求而誕生的 他除了可拼接多張二次元圖片外 也能拼接照片全景圖或 輸入一個影片檔案(檢測多幀影像並合併為一張圖) 輸入的圖片必須要有一部分重疊的區域 圖片方向可以是下到上也能是左到右 程式會自動偵測,底下是測試範例 測試1 https://i.imgur.com/W68TjHs.png
https://i.imgur.com/IYORik5.png
測試2 https://i.imgur.com/WgjZlmp.jpeg
https://i.imgur.com/gHgj0xx.jpeg
___ 為了達到良好的拼接效果,使用者可能需要了解各參數的作用 ___ [Gradio 介面參數說明] 1. 前處理設定 (Preprocessing Settings) 裁切頂部(Crop Top %)與裁切底部(Crop Bottom %) 在進行拼接之前可去除圖片上下方不需要的區域(例如:字幕、浮水印、不相關內容), 從每張原始圖片或每個影片幀的頂部、底部移除指定高度的百分比。 2. OpenCV 拼接器設定 (OpenCV Stitcher Settings) 此區塊的設定主要影響使用 OpenCV 內建 `cv2.Stitcher` 類別進行拼接時的行為( 即當「拼接器模式」選擇 "SCANS" 或 "PANORAMA" 時)。如果選擇 "DIRECT_PAIRWISE" ,則會跳過(2.)的設定,改用下方的「3. 成對拼接設定」。 * 拼接器模式 (Stitcher Mode),選擇 OpenCV 內建拼接器的主要運作模式。 `SCANS`:針對主要由平移構成的影像序列進行優化(例如:掃描文件、相機直線移動拍 攝)。可能使用較簡單的幾何模型。 `PANORAMA`:針對相機旋轉拍攝的全景圖進行優化。通常使用完整的透視變換( Homography)來處理複雜的幾何變形。 `DIRECT_PAIRWISE`:不使用 OpenCV 內建的 `cv2.Stitcher`。直接採用與處理影片幀相 同的「成對拼接」邏輯,依序將圖片兩兩進行特徵匹配與縫合。 * 註冊特徵解析度 (Registration Resolution) 這是進行特徵點偵測與匹配時,所使用的影像縮放比例。數值越低(例如 0.6),處理 速度越快,但對於高解析度的原始影像,可能會因為縮小而遺失部分細微特徵,導致匹配 效果下降。 * 接縫估計解析度 (Seam Estimation Resolution) 這是計算圖片間最佳拼接線(接縫)時,所使用的影像縮放比例。尋找接縫是計算密集 的操作,降低此解析度可以大幅提升速度,且通常對最終品質影響不大。 * 合成解析度 (Compositing Resolution) 這是最終將圖片混合(渲染)到輸出畫布上時,所使用的影像縮放比例。 設為 -1.0 表示使用與原始影像相同的解析度進行合成,能保留最多細節。 * 啟用波浪校正 (Enable Wave Correction) 嘗試校正全景圖中常見的透視畸變(波浪狀變形),不一定適用所有情況。 * 曝光補償 (Exposure Compensation) 選擇 OpenCV 內建拼接器用來調整不同圖片間亮度與對比度差異的方法。 `NO`:不進行曝光補償。 `GAIN`:對每張圖片計算單一的亮度增益值進行調整。 `GAIN_BLOCKS`:將圖片切分成區塊,計算每個區塊的增益值。 3. 成對拼接設定 (Pairwise Stitching Settings)(影片/直接模式/備用) 成對拼接的功能是執行時,每次僅以兩張圖片做拼接,然後反覆將全部圖片拼接完成 此區塊的設定會在以下情況生效:(1) 處理影片輸入;(2) 圖片列表模式下選擇了 "DIRECT_PAIRWISE";(3) 圖片列表模式下選擇 "SCANS" 或 "PANORAMA" 但 OpenCV 內建 拼接器失敗,程式會自動切換到備用的成對拼接方法。 * 成對變換模型 (Pairwise Transform Model) 選擇兩張圖片之間進行幾何對位時使用的數學模型,如果一種模型拼接失敗或效果不佳 ,可以嘗試另一種。 `Homography`:單應性矩陣,可以處理透視變換(旋轉、平移、縮放、傾斜、梯形變形) 。適用於大多數全景圖或有視角變化的情況,但對微小錯誤較敏感,可能引入不自然的變 形。 `Affine_Partial`:部分仿射變換,處理平移、旋轉和均勻縮放。比 Affine_Full 更受 限。 `Affine_Full`:完整仿射變換,處理平移、旋轉、縮放(可不均勻)和切變(傾斜)。 比 Homography 模型更穩定,較不易產生奇怪的扭曲,適合掃描件或主要為平移/旋轉的 場景。 * 混合方法 (Blending Method) 在重疊區域用來平滑接縫的演算法。 `Linear`:線性漸變混合。計算速度較快,效果尚可。 `Multi-Band`:多頻段融合。通常能產生更自然、無縫的過渡效果,但計算成本較高。 * 啟用增益補償 (Enable Gain Compensation) 在進行混合之前,嘗試計算並補償兩張圖片之間的整體亮度差異,通常建議啟用,可以 改善拼接後亮度不均的問題。 * 匹配比例閾值 (Match Ratio Threshold) Lowe's 比例測試閾值,用來篩選特徵匹配點對。比較最佳匹配和次佳匹配的距離,如 果比例小於此閾值,則認為是好的匹配。 數值越低篩選越嚴格,留下的匹配點越可靠,但也可能過濾掉一些有用的匹配。 * RANSAC 重投影閾值 (RANSAC Reproj Threshold) 在估計幾何變換(Homography/Affine)時,RANSAC 演算法用來判斷一個特徵匹配點對 是否為「內點 (inlier)」的最大容許重投影誤差(單位:像素)。 數值越低,對匹配精度的要求越嚴格。預設值 5.0 是個常用起點。如果對位不準確, 可以嘗試降低此值;如果找不到足夠的內點導致變換估計失敗,可以嘗試提高此值。 * 最大距離係數 (Max Distance Coeff) 在初步篩選匹配點時,限制兩個匹配的特徵點在各自影像上的像素距離。 超過此距離的匹配會被直接濾除。計算方式為:`此係數 * 影像對角線長度`。 快速排除掉明顯距離過遠、不可能是正確匹配的點對。 預設 0.5 表示匹配點的距離不能超過影像對角線長度的一半。如果相鄰圖片重疊很少或 移動很大,可能需要調高此係數。 * 最大混合寬度 (Max Blending Width) 限制成對拼接過程中,中間畫布的最大寬度。防止消耗過多記憶體。 * 最大混合高度 (Max Blending Height) 限制成對拼接過程中,中間畫布的最大高度,防止消耗過多記憶體。 * 混合平滑核心大小 (Blend Smooth Kernel Size) 在計算混合權重(遮罩)後,使用高斯模糊進行平滑處理的核心大小。必須是正的奇數 (例如 5, 15, 21)才能啟用平滑。數值越大,平滑範圍越廣,過渡越柔和,但也可能模 糊邊緣。設為 -1 或偶數可以關閉平滑步驟。 * 多頻段混合層級 (Multi-Band Blend Levels) 當混合方法選擇 "Multi-Band" 時,設定影像金字塔的層數。層數越多,理論上過渡越 平滑,但計算量也越大。預設 4 層。 4. 影片拼接器設定 (Video Stitcher Settings) 此區塊的設定僅在輸入為影片檔案時生效。 * 取樣間隔 (毫秒) (Sample Interval (ms)) 設定從影片中提取幀來進行拼接的時間間隔(單位:毫秒)。 間隔越小,取樣的幀越多,拼接結果可能更連續,但處理時間也越長。間隔越大,速度越 快,但如果影片移動過快,可能導致相鄰幀之間缺乏足夠重疊而拼接失敗。 * 最大合成寬度 (影片) (Max Composite Width (Video)) 在影片處理過程中,限制持續拼接的結果影像的最大寬度。防止拼接結果無限增長。當 寬度達到此限制時,會將當前的拼接結果儲存起來,並用下一幀作為新的起點開始拼接。 * 最大合成高度 (影片) (Max Composite Height (Video)) 同上,限制拼接結果的最大高度。 5. 後處理設定 (Postprocessing Settings) * 裁切黑邊 (拼接後) (Crop Black Borders (Post-Stitch)) 在所有拼接步驟完成之後,自動偵測並移除最終輸出影像周圍的黑色(或接近黑色)的 無用邊界區域。 * 嚴格無黑邊 (裁剪後)(Strict No Black Edges (Post-Crop)) 當啟用「嚴格無黑邊」,程式會在執行完標準的黑邊裁剪後,再執行檢查與裁剪的步驟 它會持續檢查影像的四周邊緣並裁剪任何黑色像素,達到絕對無黑邊的效果,啟用此模式 會比標準裁剪多裁掉一部分影像內容。最終輸出的影像尺寸會因此比僅使用標準裁剪時還 小。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.241.64.188 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1746089191.A.B12.html

05/01 16:48, 7月前 , 1F
05/01 16:48, 1F

05/01 16:48, 7月前 , 2F
這麼專業的嗎
05/01 16:48, 2F

05/01 16:50, 7月前 , 3F
先推
05/01 16:50, 3F

05/01 16:54, 7月前 , 4F
專業推
05/01 16:54, 4F

05/01 17:12, 7月前 , 5F
好專業
05/01 17:12, 5F

05/01 17:23, 7月前 , 6F
有這種東西?沒玩過 不過這個AI圖跑運鏡也能用 謝謝
05/01 17:23, 6F

05/01 17:28, 7月前 , 7F
文章代碼(AID): #1e4pJdiI (C_Chat)
文章代碼(AID): #1e4pJdiI (C_Chat)