問題タブ [bicubic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
math - 補間: 3D テーブルに基づいて補正を計算します
これは私の個人的な興味のためであり、線形補間からの質問へのフォローアップです: 2D テーブルに基づいて補正を計算します
ラインと補正テーブルが 3 次元を使用する場合、計算はどのようになりますか? どのような種類の補間と数式を使用する必要がありますか?
ありがとう!
algorithm - Matlabでのバイキュービック補間の説明?
http://www.mathworks.com/help/vision/ug/interpolation-methods.html#f13689のバイキュービック補間に関するMatlabの例に混乱しています
私は彼らのバイリニアの例を理解していると思います。どちらかの側で隣接する変換された値の平均を取ったようです。したがって、最初の行、最初の列で 0.5 を取得するために、0 と 1 の平均が取られました。
バイキュービック補間の例では、私は彼らの方法にかなり混乱しています。彼らは、「両側の 2 つの翻訳値の加重平均」を取ると言っています。
彼らの例では、
バイキュービック補間の最初のステップで、マトリックスにゼロを追加し、右に 0.5 ピクセル移動して、次のようにします。
次に、加重平均を使用して、
しかし、彼らがどのようにしてこれらの数字を入手したのかはわかりません。最初の行、最初の列の 0.375 の代わりに、代わりに (1 * 3/8 + 2 * 1/8) = 5/8 を実行します。これは、フォーマットが
ここで、d は距離です。
したがって、変換された値の加重平均を取るには、最初に (3d + d + d + 3d) = 1 を実行できるため、d = 1/8 となります。つまり、より近い変換された値のそれぞれに 3/8 の重みを付け、さらに変換された値のそれぞれに 1/8 の重みを付ける必要があります。これは (0 * 1/8 + 0 * 3/8 + 1 * 3/8 + 2 * 1/8) となり、これは 5/8 であり、3/8 の結果と一致しません。どこで間違えたのだろうと思いました。
ありがとう!
matlab - 画像のバイキュービック補間
次の強度を持つ 4*4 画像 'A' があります。
私はmatlabでこの画像にバイキュービック補間を行っています
出力として 7*7 の画像 (B) が得られました。
しかし、8*8 の画像が必要です。どのように達成できますか。方法も説明してください。
interpolation - 多次元のバイキュービック補間?
2D 関数のバイキュービック補間に関するウィキペディアの記事があります。
ND関数補間のために同じ/類似の行列を生成することは可能ですか?
image-processing - 画像処理: 入力画像のピクセルの強度値を使用した補間
画像補間を行う場合、入力画像のピクセルの強度値を使用すると思います。
(A) GPU Gems Chapter 24. High-Quality Filteringからキュービック補間のコードを読んでいます。コードのスニペットは次のとおりです。
例24-9。4 つのテクセル行をフィルタリングしてから、結果を列としてフィルタリングする
frac(t) からサブテクセル部分を取得するため、「t」は入力画像の正確なピクセル位置にはありません。それでは、「texRECT(tex, t + float2(-1, -1))」のように、元の画像から強度値をサンプリングするために「t」が直接使用されるのはなぜですか?
個人的には使うべきだと思います
(B) 「異なる補間タイプで画像をズームする」の例と同じ
「Bi-Cubic Interpolation の GLSL シェーダー コード」のスニペットは次のとおりです。
使用する必要があると思います:
次に、m と n のオフセットを使用します
(C) 今、私は混乱しています。入力画像の「正確な」ピクセルの強度値を使用すると思います。どちらの方法を使用する必要がありますか?
matlab - バイキュービック補間でのグリッド状のアーティファクト
here で説明されているように、画像のサイズ変更にバイキュービック補間を実装しようとしています。
Triangular または Bell カーネルを試すと、妥当な結果が得られます。しかし、B-Spline または CatMull-Rom カーネルを試してみると、このグリッドのようなアーティファクトが表示されます(左は CatMull-Rom、右は Bell)。私がしたことは、提供されたリンクの式から Rc 式を置き換えることだけでした。
それを引き起こしている可能性のあるアイデアはありますか?
編集:これは、matlabで行われたメイン関数のコードです
ここにカーネルがあります
matlab - openCV バイキュービック imresize は負の値を作成します
双三次補間を使用して openCV で行列をダウンサンプリングすると、元の行列がすべて正であったにもかかわらず、負の値が得られることに気付きました。
例として次のコードを添付します。
なぜこれが起こるのかわかりません。[0,100] の間のランダムな値を選択した場合、サイズ変更後の最小値は通常、上記のコードのように [0,1] の範囲で ~-24 対 -0.24 であることに気付きました。
比較として、Matlab ではこれは発生しません (ここに表示されるように、重み付けスキームのわずかな違いを認識しています: imresize comparison - Matlab/openCV )。
以下は、1000 個のランダムに縮小された行列 (eahc 行列の元の寸法 1000x1000) のいずれかで最小値を保存する短い Matlab コード スニペットです。
image-processing - 間違った結果を与えるバイキュービック補間
スケーリングやスキューなどの画像変換にバイキュービック補間を実装しようとしていますが、画像出力が不正確に見えます。補間されたピクセルが 255 を超えてオーバーフローすることがあります。
コードは次のとおりです。
出力はズーム変換用です
バイリニア出力:
バイキュービック出力
java - Java AWT/ImageIO: JPEG 画像のバイリニアおよびバイキュービック スケーリングにより、完全に黒の出力が生成される
Nearest Neighbor Scaling が機能する: を使用すると、画像全体がそのまま残りますTYPE_NEAREST_NEIGHBOR
。
Scala コードですが、使用するライブラリはすべて標準 Java ライブラリです。
機能:
呼び出しコード スニペット:
result
SQLite データベースに書き込まれます。データベースからダウンロードしてJPEGファイルとして保存すると、結果のJPEGは
- 私が使用する場合は期待どおり
AffineTransformOp.TYPE_NEAREST_NEIGHBOR
- 私が使用する場合は完全に黒
AffineTransformOp.TYPE_BILINEAR
- 私が使用する場合は完全に黒
AffineTransformOp.TYPE_BICUBIC
AffineTransformOp
その結果、私はバグがあると非難しています...
どうすればこの問題を解決できますか?
のファイル マジック ナンバーは、result
常にff d8 ff
JPEG の想定どおりです。
詳細
Java バージョン: Java HotSpot(TM) 64 ビット サーバー VM、Java 1.7.0_71
オペレーティング システム: アップル、OS X 10.9.5
テスト画像: http://www.photos-public-domain.com/wp-content/uploads/2012/05/thundercloud-plum-blossoms.jpg
c++ - パッチワーク画像補間
3D モデルの頂点に基づいて深度マップを手動で生成しました (いいえ、この場合は z バッファーを使用できません)。
残念ながら、デプスマップは多くの穴が開いたパッチワークのようなものです。これは次のようになります。
http://i.stack.imgur.com/ZHCKr.png
欠けている穴を補間したいのですが、このようなことをしたことがなく、この問題に取り組む方法がわかりません。
バイキュービック/バイリニア補間について考えていました。それは私の問題に適用する必要があるものですか?
もしそうなら、このアプローチをどのように行うか説明していただけますか?そのような補間が適切でない場合、この穴の問題をどのように解決できますか?