問題タブ [bilinear-interpolation]
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 - 逆バイリニア補間?
四角形を形成する 4 つの 2d ポイント、p0 = (x0,y0)、p1 = (x1,y1) などがあります。私の場合、クワッドは長方形ではありませんが、少なくとも凸状である必要があります。
双一次補間を使用しています。S と T は [0..1] 内にあり、補間点は次の式で与えられます。
ここに問題があります..クワッドの内側にあることがわかっている2dポイントpがあります。双一次補間を使用するときにそのポイントを与えるs、tを見つけたいです。
双一次補間を逆にする簡単な式はありますか?
解決策をありがとう。Naaff のソリューションの実装を wiki として投稿しました。
matlab - matlab での 2D 行列の双一次および双三次補間
テキスト ファイルに保存されているデータ セットにバイリニアおよびバイキュービック補間を適用しようとしています。これらのテキスト ファイルはフォルダー内にあり、output_00.text から output_23.textという名前が付けられています。各テキスト ファイルは 3 つの列で構成されます。1 列目は緯度、2 列目は経度、3 列目はこの緯度と経度 (地球上の位置) での温度値です。
温度列には、数値または NaN 値ではない -9999.000が含まれます。この NaN 値は、各ファイルのランダムな行に表示されます。
これらの NaN 値を双一次/双三次補間手法で補間したいと考えています。このコードは、各テキスト ファイルを読み取り、双一次法で補間して、method_00.text に保存します。
私の1つのテキストファイルは次のようになります
Google で、画像または行列をバイリニア補間するためのツールを見つけました。とりあえず、このコードは私の要件に合わせて変更できます。しかし、どのように?
. このツールのリンクはこちらhttp://www.mathworks.com/matlabcentral/fileexchange/43533-bilinear-interpolation-of-an-image-or-matrix
gpgpu - Delaunay 三角形分割内の整数座標での双一次補間
約 100 万個の三角形からなる平面 Delaunay 三角形分割があります。各頂点にはいくつかのスカラー メトリックがタグ付けされており [1]、同じ規則的なグリッド上でこれらの各メトリックの高速で単純な補間を確認したいと考えています。参考までに、私の三角形の結合は、(整数) 座標を持つ約 1000 万のグリッド セルをカバーしています。[2]
シンプルと言えばシンプル。バイリニアは大丈夫です!私の理解では、これは (a) 基本的に GPU が生計を立てていることであり、(b) おそらく数え切れないほどの宿題の対象であるということです。私自身は公衆衛生の政府研究者なので、宿題ではありません。:-)
私の遅いが正しい参照実装では、約 10 分で次の計算を行うことができます。
各三角形 T について:
- T の境界ボックス内のすべての (整数) デカルト座標の集合 G。
- G の各 (x、y) の重心座標 (u、v、w)。
- すべてが正ではない (u, v, w) の棄却 — つまり、T 内。
- T の残りの各座標の加重合計 (u z_1 + v z_2 + w*z_3)。z_1、z_2、および z_3 は、特定のメトリック [1] の T の頂点でのスカラー値です。
高速にするには、ステップ 1 ~ 3 が本当に必要です。ステップ 4 は些細なことですが、それが私の最終目標です。理想的には、ソリューションは次のいずれかの形式になります。
- 非常にシンプルな API を備えた、適切にライセンスされた (GPL で問題ありません) ライブラリ。また
- 中級プログラマーが Fortran、R、Python、または C でコーディングする方法が明らかなほど明確な説明。
このタスクの古典的な定式化は、「TIN から DEM へ」の地形モデリング ジョブです。しかし、最近はその逆がより一般的に必要とされているようです (?)
ポイントが 2 つ以上の三角形によって共有されるエッジまたは頂点に正確に位置する場合に重複を削除するなど、いくつかの基本的なクリーンアップも問題ありません。
お時間とご関心をお寄せいただきありがとうございます。電車を降りたら、フォーマットをクリーンアップし、提案ごとに編集します!
脚注:
[1] 標高、温度、湿度。[2] UTM グリッド上で 20x20m 離れているという意味での整数。したがって、20倍に拡大してください。
matlab - 適応双一次補間を実行する方法は?
この論文で与えられた画像アップサンプリングのための適応双一次補間法を実装したいと思います。しかし、私は非常に基本的な質問に固執しています。
Matlab のimresize()は、最も近い 2x2 近傍のピクセルの加重平均を取ることにより、双一次補間を実行します。
Matlab が境界ピクセルのこの 2x2 近傍をどのように決定するのか知りたいですか?
私が本当に知りたいのは、添付の紙の境界ピクセルの近傍をどのように決定するかということです.垂直上部マスク、左端の列には水平マスクを決定するための列がありません。
そのようなアルゴリズムで言語によって境界ケースがどのように解決されるかについての直感を得るために、Matlab の例を示しました。
c++ - C++、拡大されたビットマップ画像の穴をパッチする双一次補間
ビットマップ イメージを 3 倍に拡大するために、このコードを実装し、穴を見つけました。双一次補間を使用することにしました。上記は、このコードのように重みが計算される最も近いピクセルにパッチを適用するコードです。出力[j*hInfo.biWidth+i] =画像[3/2*j*hInfo.biWidth + 3/1*i].
ロジックは単純なので、ちゃんと動くと思っていたのですが、イメージの結果は私の感じたスイカのように見えます。コードを見てください。どんなコメントでも大歓迎です。読んでくれてありがとう。
caffe - Caffe のバイリニア アップサンプリングを理解する方法
caffe'doc は次のように述べています。
kenrel_size、stride、および pad をこのように設定する理由がわかりません。