画像に凸面鏡効果と凹面鏡効果を追加するアルゴリズムを探しています。私はこれを効率的にする方法も知りたい。画像データにアルゴリズムを適用するか、効果を含む透明な画像でオーバーレイする。しかし、私は第二の選択肢がこの場合に当てはまるとは思わない。プログラムに画像に凸効果を追加する
1
A
答えて
2
ハードウェアプリミティブを使用する代わりに手動で行う場合は、bresenham interpolation algorithm
(通常は線画用に使用されます)の方法があります。エラー伝播は、他のより複雑なメソッドよりはるかに効率的です。
ブレーゼンハムは補間にすぎません。効率的なデザインを他の場所で使用する機会を見逃してはいけません(ラインドレッシングの勾配計算は、2D、3D、透明度、反射、色など他の次元を補間することができる多くの補間アプリケーションの1つに過ぎません)。
25年前、ビットマップのサイズを変更したり、リアルタイム3Dエンジンでテクスチャマッピングを行ったりしたことを覚えています。それは、グラフィックアクセラレーションされたビデオボードが一番の幸運を要した時でした。
2
CImgライブラリには、例として\ CImg_demo.cppという魚眼があります。コアアルゴリズムは非常にシンプルです(一般的にこのライブラリと同じように高速です)。私はそれが実際の光学効果の近似だと思っていますが、凸面鏡を扱うように修正することができます。私はそれが '負の'曲率を扱うために拡張できるかどうかは分かりません。
1
を使用して、値を補間してビットマップのサイズと一致させることができます。逆効果は、オフセットまたはより大きなテーブルのいずれかを使用して達成されます。
あなたは、このようなアルゴリズムが要求された場合にも適用することができる方法を説明しなければならない私の80年代にDOSデモ(の偉大回)...
関連する問題
- 1. Android。画像に効果を加えたテキストを追加する
- 2. PHPで画像にダイナミックに効果を追加する
- 3. 画像にホバー効果を追加する(ワードプレス)
- 4. 画像に光沢効果を追加する
- 5. プログラムでTableViewセルに画像を追加
- 6. プログラムでStackPanelに画像を追加
- 7. 描画テキストにグロー効果を追加
- 8. UIScrollViewの画像をスクロールするときに視差効果を追加する
- 9. OpenCVを使用して画像/動画に積雪効果を追加
- 10. WPFコントロールを動的に/プログラムで画像に追加する
- 11. のjQueryにスイッチ背景画像機能にフェードイン()効果ハンドラを追加
- 12. プログラムに画像をプログラムで追加/削除Magento2
- 13. 画像にソフトフォーカスをプログラムで追加する方法
- 14. Magento製品にプログラムで画像を追加する1.6.1
- 15. Crystallレポートに画像をプログラムで追加する
- 16. Drupal 6プログラムでFileFieldに画像を追加する
- 17. プログラムでRTF文書に画像を追加する
- 18. アンドロイドにプログラムで画像ビューアセレクタを追加する
- 19. jQuery-autocomplete結果に画像を追加する
- 20. 画像に効果を加える方法
- 21. 画像にライトボックス効果を与える
- 22. 前の画像に画像を追加
- 23. ブートストラップカルーセルにフェード効果を追加する
- 24. リプル効果をリストビューに追加する
- 25. ダイナミックチェックボックスにマウスオーバー効果を追加する
- 26. ホバー画像効果
- 27. 画像ホバー効果 -
- 28. 画像ズーム効果?
- 29. アンドロイドレイアウトのスピナーの横に画像を追加して画像を追加する
- 30. 別の画像の上に画像を追加するには?
を記憶しています。レンズ画像の変形は一般に二次元フーリエ変換から得られるので、既知の最も簡単なアルゴリズムの1つを用いてそのような複雑な効果を得ることは驚くべきことである。 – CapelliC
2D問題が2回のパス(1つの水平、垂直)で解決されるため、1D(走査線)を考えてみましょう。したがって、凹状の効果は、走査線の中央部分を拡大し、境界部分を引き伸ばします(また、半分の値だけを計算するために対称性を利用できます)。これが補間の役割です。凸効果はその逆を行います。線形補間に満足できない場合は、ループに因子を追加することができます。これは、Fourrier変換よりもはるかに高速です。 3D効果を得るには、3回目のパスを使用します。 – Gil
okですが、これまでのbreshenamアルゴリズムのように思われます。 – CapelliC