這似乎可以用ffmpeg的感謝魚眼失真補償的lenscorrection過濾器除去GoPro的魚眼:有沒有辦法使用的ffmpeg
ffmpeg -i in.mp4 -vf "lenscorrection=cx=0.5:cy=0.5:k1=-.25:k2=-.25" out.mp4
爲和k2
,特別是對於一個GOPRO什麼樣的價值觀? 有沒有一種方法來計算它們?
這似乎可以用ffmpeg的感謝魚眼失真補償的lenscorrection過濾器除去GoPro的魚眼:有沒有辦法使用的ffmpeg
ffmpeg -i in.mp4 -vf "lenscorrection=cx=0.5:cy=0.5:k1=-.25:k2=-.25" out.mp4
爲和k2
,特別是對於一個GOPRO什麼樣的價值觀? 有沒有一種方法來計算它們?
FFmpeg有一個lenscorrection
過濾器,可用於糾正視頻中的徑向失真。這就是說,沒有更多的上下文 - 例如相機的型號和設置 - 很難提供更多信息。無論如何,我懷疑它需要一點反覆試驗。
PS:你有沒有試過在WINE下運行相機的軟件?它的一些版本顯然具有預定義並容易訪問的這種修正過濾器。
感謝您的答案,但我正在尋找鏡頭校正(或其他開源,不使用第三方軟件)的ffmpeg參數。 – user4223883
是的,對於答案thx,但'k1'和'k2'的具體值對於gopro來說會很棒 – abernier
我不認爲有一個通用的設置來覆蓋所有的GoPro型號&鏡頭。同時人們也可以使用一些定製/替換鏡頭。
我所期待的一個例子形象特色你有什麼用工作,但沒關係...
希望下面的這些是對你有用以某種方式
檢查此鏈接爲GoPro Hero 3 settings
(適用到其他型號)。爲了獲得最佳的和k2
值的一個粗略的想法,你會發現最近的寬高比你的圖像分辨率,然後...
鴻溝H. FOV deg
與V. FOV deg
和乘法結果與Diag. FOV deg
。
例如:其中圖片尺寸爲1920 x 1080:這使它成爲16:9寬屏幕。
的GoPro 3設置:16×9寬屏幕::
H fov
= 69.5 ||V fov
= 118.2 ||Diag
= 133.6
所以118.2/69.5 * 133.6 = 227.216 etc
爲結果是現在整數227
(丟棄小數點)。
對於k2
值0.022
似乎通用(所有測試圖像),所以你可以試試k2=-.022
。
對於cx
和cy
保持爲:cx=0.5:cy=0.5:
。
實施例:
ffmpeg -i in.mp4 -vf "lenscorrection=cx=0.5:cy=0.5:k1=-0.227:k2=-0.022" out.mp4
結果:(經由GoPro的英雄-2視頻的Google images原始圖像中找到)。
如果需要,算法可以在命令內完成。 – LordNeckbeard
非常好!你剛贏得賞金;)但是,你能否更詳細地解釋k2值?爲什麼它是「普遍」?再次感謝 – abernier
@abernier謝謝。關於'k2',它不是那麼普遍,而只是它適用於這種類型的魚眼鏡頭。我的測試圖片都有一個「圓圈內的圖像」類型的外觀(黑色邊緣)。對於全景鏡頭來說可能並不是最好的(失真圖像,但是沒有黑色邊緣的fils屏幕)。我現在正在執行任務,但會在今晚晚些時候更新信息/示例。 –
視頻複製過來:http://video.stackexchange.com/questions/12667/linux-command-line-option-to-do-video-lens-correction – payne
@abernier我想提供一個**輸入**圖像(視頻抓取)的例子會加快得到一些答案。 –