我想對極低分辨率的位圖進行仿射變換,我希望在保留最大量的信息的同時進行仿射變換。插值仿射變換
我的輸入數據是手寫字符的1位64×64像素圖像,我的輸出將是灰度和更高的分辨率。在對圖像進行分析後,我構建了一系列仿射變換(旋轉,縮放,剪切,平移),我可以將它們乘以一個仿射變換矩陣。
我的問題是,鑑於輸入圖像和我的計算仿射變換矩陣,我怎麼能計算出最高品質我的輸出圖像?我已經閱讀了關於不同插值技術的文章,但他們都是關於如何進行插值的縮放,而不是一般的仿射變換。
這是一個演示什麼是正在做什麼,我正在尋找。給定仿射變換矩陣和插值技術,它計算一幅圖像。
http://bigwww.epfl.ch/demo/jaffine/index.html
你能解釋我什麼是計算更高的分辨率(例如4倍)灰度圖像所需的步驟,如果我有一個較低的分辨率1位輸入和一個給定T仿射變換矩陣?
你能聯繫我到一些源代碼或教程或文章,甚至可能書有關如何實現一個線性,三次或更好的插值與仿射轉變?
我需要在Java中實現這個問題,我知道Java有一個Affine類,但我不知道它是否實現插值。你知道任何C++或Java庫有什麼好讀的代碼,以找出如何編寫一個使用插值進行仿射變換的算法?
是否有任何免費的Java或C++庫,它們都有內置函數用於使用插值計算仿射變換?
您可以使用java2d api在java中使用反鋸齒進行仿射變換 – Sibbo
您是否考慮過使用比標準位圖圖像好得多的SVG圖像? Apache的[Batik庫](http://xmlgraphics.apache.org/batik/)與Java協同工作,可以爲你處理這個問題,我相信。 –
@sibbo:這有助於Shapes,但對位圖圖像無幫助。 –