問題タブ [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.
c# - バイキュービック補間 - 正しい分離
3次スプラインと一般化された補間式を使用して、バイキュービック画像補間を実装しようとしています。
周囲の 16 個のピクセルすべてを使用してこれを実装し、これらの 16 個の関数値から補間係数を計算することができました。しかし、内挿は定義上分離可能であるため、双三次内挿を実現するために 2 つの 1-D 内挿を使用するバージョンを実装しようとしました。一般化された補間式については、たとえばhttp://bigwww.epfl.ch/publications/thevenaz9901.pdfの第 3 章を使用し、1-D 補間については、この背後にあるアイデアを使用します: http://www.vision-systems.com /articles/print/volume-12/issue-10/departments/wilsons-websites/understanding-image-interpolation-techniques.html
私の係数は、 https://en.wikipedia.org/wiki/Spline_interpolation#Example
のように 4x4 行列を逆にすることによって計算されます。
補間は 3 つの関数で構成されます。
補間関数自体 (ファイ):
4 つの関数値から 4 つの係数を計算する:
そして、より小さいソース画像からの画像全体の補間:
対照的に、一度に 16 個の係数すべてを計算すると (80x80px)、結果は次のようになります。
私の質問は次のとおりです。分離はどのように正しく行われますか? または、何かが完全に欠けていて、補間関数 (ファイ) のみを分離できますが、係数の計算は分離できませんか?
java - Java 2D 配列バイキュービック補間
私は最近、Minecraft 内の実際の高さマップに基づいて地球を生成したいので、バイキュービック補間をいじっています。補間を使用する理由は、世界をより詳細にしたいからです。いろいろ調べて、試行錯誤した結果、こちらにお願いすることにしました。:)
メモリが限られているため、起動時にイメージをスケーリングできず、ロードしたままにしておく必要があります。その場で補間を行う必要があります。
ここで見られるように、Cubic Interpolation が機能しているよう です 。テスト目的で、小さな画像を使用して 4 倍にスケーリングしています。これがコードの動作です:入力 -> 出力
これは私の現在のコードです:
ご協力ありがとうございました :)
c - C でのバイキュービック補間
c でバイキュービック画像補間を処理しようとしています。したがって、この小さなスクリプトを作成しました。
1. 「resize_image」関数:
2.「sample_bicubic」関数
3.「補間ヘルパー」
ここにすべてのものを含む完全なコードをアップロードしました。
このコードを実行しても構文エラーはありません。
しかし、出力画像は私を混乱させました。
入力画像 (21x20Pixel):
この入力画像は 2 倍 (42x40 ピクセル) に拡大されます。
補間はいくつかの点でうまく機能しているように見えますが、画像はピクセルがずれているように見えます。
誰かが私が間違っていることを教えてもらえますか? このスクリプトは次の助けを借りて作成されました: http://blog.demofox.org/2015/08/15/resizing-images-with-bicubic-interpolation/
みんなありがとう!
(このコードの効率を考慮しないでください...私が知っている恐ろしいことです)
matlab - MATLAB はバイキュービックを使用してどのようにピクセルを補間しますか?
MATLAB が双三次法を使用してピクセルを補間することを知りません。
MATLAB のバイキュービックによる内挿ピクセルは、RG Keys [1] によって実装されているバイキュービックによる内挿ピクセルとは異なります。
[1]によるバイキュービックではなく、MATLABでバイキュービック法を使用してピクセルを補間する方法を説明していただけますか。次に、それらが異なる理由を説明します。
例えば
MATLAB:
[1]:
[1 2 3 4]
ピクセルは、[1] のバイキュービック法を使用してピクセルを補間することによって得られます。
ありがとう。
[1] デジタル画像処理のための 3 次畳み込み補間」、IEEE Trans on ASSP、vol ASSP-29、No. 6、1981 年 12 月
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
c++ - バイキュービック法によるC++画像補間
BiCubic 補間によって画像を平滑化しようとしています。RGB画像を補間するために使用されるコードをいくつか取得しました。グレースケール画像で機能するようにコードを変更しました。しかし、結果として、完全に黒い画像しか得られませんでした。考慮される入力と出力の画像サイズは同じです。コードは以下に貼り付けます。私を助けてください。前もって感謝します。
android - Android: バイリニア (Lanczos3 など) よりも優れたリサンプリング アルゴリズムを使用したビットマップのサイズ変更
Lanczos(理想的には)または少なくともbicubic algを使用して画像のサイズを変更できる方法または外部ライブラリはありますか。アンドロイドの下で?(もちろん早い方が良いですが、品質が優先され、処理時間は二の次です)
私がこれまでに持っているものはすべてこれです:
ただし、バイリニア フィルターを使用しており、出力品質はひどいものです。特に詳細を保持したい場合 (細い線や読みやすいテキストなど)。
ここで例として説明されているように、Java には多くの優れたライブラリがあります: Java - 品質を落とさずに画像のサイズを変更する
ただし、常に のような Java awt クラスに依存しているjava.awt.image.BufferedImage
ため、Android では使用できません。
メソッドのデフォルト(バイリニア)フィルタを変更する方法や、クラス(またはコメントの@Tronが指摘したように、生の表現)で動作するMorten NobelのlibのBitmap.createScaledBitmap()
ようなライブラリを変更する方法はありますか?android.graphics.Bitmap