2013-07-08 40 views
3

我試圖扭曲16位衛星圖像。我有全色圖像。我的參考圖像是8192x81920像素,紅色通道圖像是4096x40960像素。當我使用warpAffinewarpPerspective時,行值大於32767的像素不會被正確扭曲。這是一個簡單的錯誤?我可以通過更改變量類型來糾正它嗎?warpPerspective和warpAffine不適用於大圖像,高度> 32k

我已檢查warpPerspectiveInvoker功能,但看不到一個簡單的修復。

+0

「不工作」是什麼意思?請明確點。你的電腦有多少內存? –

+0

您可以發佈您用來扭曲圖像的代碼嗎?並可能鏈接到示例輸出? (我可以將它編輯成你的問題) – Aurelius

回答

3

目前,我將圖像分爲32k大小的圖塊,並將每個獨立的圖塊捲曲。 目前我的數據結果似乎是合理的。

3

這看起來是OpenCV中的open bugcv::warpPerspective()在內部使用short來生成失真映射。 32767是short中的最大可表示值,因此任何大於此值都會導致問題。

您可以嘗試駭客warpPerspectiveInvoker並用更大的東西替換short實例,例如int,但我無法保證這可行。不過,這可能值得一試。

相關問題