問題タブ [raster-graphics]

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.

0 投票する
3 に答える
606 参照

algorithm - ランレングス符号化されたデジタル形状の輪郭

デジタル形状は、バイナリ イメージ (ブロブ) 内の一連の接続されたピクセルです。

これは、ランレングス コーディングによってコンパクトに表すことができます。つまり、ピクセルを水平線分にグループ化し、始点の座標と長さを格納します。通常、RLC 表現はランをラスター順に格納します。つまり、行ごとに右に並べます。

滑らかな形状の場合、ストレージ要件は O(N²) から O(N) に低下します。

形状の輪郭は、(塗りつぶしアルゴリズムによって) 内部が塗りつぶされたときに形状を復元する、ピクセルの閉じたチェーンです。これは O(N) 表現でもあります。形状がビットマップとして利用できる場合、アウトラインは輪郭アルゴリズムによって取得できます。

中間ビットマップに描画せずに、RLC 表現を指定して形状の輪郭を直接計算するアルゴリズムを探しています。アルゴリズムは、実行回数に比例して時間内に実行されることが期待されます。

ここに画像の説明を入力

あなたは解決策に出くわしましたか?

0 投票する
1 に答える
239 参照

algorithm - 閉じたラスター ポリゴンと開いたラスター ポリゴンを区別するために使用できるアルゴリズムは何ですか?

2 つの点配列があるとします。そのうちの 1 つは、次のようなオープン ポリゴンです。

画像1

Xes は黒い点と点 ('.') - 白いものです。

2 番目の点の配列には、閉じた多角形が含まれています。

画像2

特定の点配列が閉じた多角形か開いた多角形かを判断できるアルゴリズムの名前が必要です。この情報は、フラッディング フィルが可能かどうかを判断するために必要です (最初の例ではフラッド フィルはできませんが、2 番目の例ではフラッド フィルが可能です)。

2 種類のポリゴンを区別するためのアルゴリズムは何と呼ばれていますか?

更新 1 (2015 年 10 月 10 日 10:05 MSK):フラッド フィル エラーを防ぐために、閉じたポリゴンと開いたポリゴンを区別する必要があります。

フラッド フィル エラーは、フラッド フィルを次のような開いたポリゴンに適用した場合です。

完全に塗りつぶされたグリッドになります。

私の当初の考えは、

  1. 多角形を取り、
  2. 開いているか閉じているかを確認し、
  3. 閉じている場合は、フラッド フィルを適用します。

今、私はそれを別の方法で行うことができます:

  1. ポリゴンを塗りつぶします。
  2. グリッド全体が塗りつぶされている場合、それは開いたものであり、そうでない場合 (塗りつぶし後のグリッド内の少なくとも 1 つのポイントが白である場合)、それは閉じたものです。

ポリゴンが開いているか閉じているかを判断するためにフラッド フィルを回避する方法があれば教えてください。

0 投票する
0 に答える
570 参照

graphics - 3D ラインをラスタライズする

3D ライン セグメントのラスタライズのアルゴリズムを見つけようとしています。Bresenham のアルゴリズムは、ほとんど私が望んでいるように見えますが、Z 値を計算しません。

ブレゼンハムのアルゴリズムを拡張する方法があるかどうか、または別のアルゴリズムを拡張する方法があるかどうかは誰にもわかりませんか?

0 投票する
1 に答える
1530 参照

image - 1 bpp BMP ファイルのピクセル配列を解釈する方法

次の状況でピクセル配列を説明する方法が見つかりません: Windows 7 で MS ペイントを使用して 2x2 ピクセルの BMP 画像を作成しました。それをモノクロ BMP として保存しました (これは、ピクセルあたり 1 ビットの色深度を持つ BMP を意味すると思います)。

画像を拡大するとこんな感じ(黒画素、白画素、白画素、黒画素) ここに画像の説明を入力

次に、16 進エディターで bmp を開くと、次の情報が表示されます。

BMP 形式に関するウィキペディアの記事 ( https://en.wikipedia.org/wiki/BMP_file_format )を読んだ限りでは、この部分はピクセル配列です。

3f00 0000 4000 0000

ピクセル配列の値の意味は何ですか? 3Fの値には特別な意味がありますか?

0 投票する
1 に答える
1637 参照

javascript - 必要に応じてリーフレットにラスター画像を重ねる方法は?

ユーザーからの入力で受け取った緯度と経度の座標を使用して、leaflet.js でマップを視覚化しています。その際、バックグラウンドでヒートマップを計算します (たとえば、選択した座標を囲む 5 km 幅のエリアの人口密度マップ)。

ヒートマップをマップにオーバーレイするにはどうすればよいですか?

これまでに得たものは次のとおりです。マップを生成するためのhtmlファイルと、バックグラウンド計算によって作成された.jsファイルで、選択した座標、いくつかのポリゴンまたは関心を保存し、ラスターマップを保存/ポイントしたい場所です私はその地域のために生成します。

ファイル rois.js は私のプログラムによってバックグラウンドで生成され、選択された座標とマップ上に描画されるいくつかのポリゴンが含まれています。ここにラスター情報を含める方法を理解したいと思います。

ありがとうFP

0 投票する
1 に答える
1959 参照

r - RのプロットrasterVisパッケージで積み重ねられたラスターデータの名前を変更する

私は次のコードを持っています:

以下を使用してデータをスタックします。

レイヤーの名前は次のとおりです。

次に、レイヤーの名前を変更する必要があります: 2000, 2001, ......, 2011, , 私は使用しています

しかし、私はX2000、X2001を取得します...

ただし、文字を使用すると、出力は正しくなります。

month.abb のクラスがどのように文字であるか、次に変更します

しかし、出力は変わりません。

**では、どうすればレイヤーの名前を変更できますか? **。

PD: rasterVisパッケージ (levelplot 関数)を使用してデータをプロットするための名前を変更する必要があります

0 投票する
1 に答える
1147 参照

r - RのrasterVisプロットのスケールバーと北向き矢印

ラスターデータ(主にtif形式の衛星データ)をプロットするためにRでrasterVisパッケージを使用しています。スケールバーと北向き矢印の追加についてアドバイスをいただければ幸いです。このパッケージで利用可能な組み込み関数はありますか? 前もって感謝します。