問題タブ [pixel-manipulation]

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 投票する
1 に答える
47 参照

image - バックグラウンド 引き算クラスのプロの方回答お願いします

誰かがクラス BackgroundSubtractorMOG2 を定義できますか?履歴(BackgroundSubtractor クラスの引数の意味)とは何ですか?コードブックのようなテクニックは BackgroundSubtractorMOG2 クラスを使用して利用できますか??

前もって感謝します

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

javascript - ピクセル位置を取得する方法

私はこれを尋ねるのは本当にばかげていると感じますが、我慢してください。線形配列でピクセル位置を取得する式について知っています。

これは正常に動作します。jsFiddle . ただし、画像/テーブルが線形化される前は、同じ式は機能しません。使用する必要があります(簡単にするためにRGBAを破棄しましょう)

ここに画像の説明を入力

何故ですか?私はおそらく本当に単純なものを見逃しています。


更新:それは簡単なことだとわかっていました。愚かな私。

ここに画像の説明を入力

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

javascript - 指定された座標を中心にピクセルを回転します

しばらく前に太陽系のアニメーションを作成し、現在それを書き直しています。質量に重力効果を追加します。その効果を可視化するために、背景をグリッドに変更しました。

2 つの異なる効果を追加します。つまんで回す。Geek Office Dog: Hello swirl!のチュートリアルに従っています。(javascript による渦巻き効果のチュートリアル) . 順を追って、まず、回転がどのように機能するかを理解したいと思います。

これは、サイトからの簡単なローテーション デモの抜粋です: jsFiddle。コードは無秩序に見えたので、修正して単純化しました: jsFiddle

の部分がわかりませんでした// Iterate over the interest square region-radiusと の間でループするのはなぜですか? ピクセルが円の内側にあるかradiusどうかを正確に確認するにはどうすればよいですか?x * x + y * y <= radius * radius

コードのその部分で何が起こっているのか、頭の中で視覚化できません。まだ。


更新:わかりました、少し考えた後、私はループで次のように考えています:

画像上の領域を実際に繰り返しているのではなく、理論上の領域です。

ここに画像の説明を入力

現在の (x,y) が円の内側にあるかどうかを確認します。そうであれば、コードの次の行で、画像上の (x,y) の実際の位置を計算します。

ループ (+ if) は、円内のすべてのピクセルの座標を取得するだけで、これらの (x,y) 座標を (originX, originY) 値だけシフトして、画像上の実際の座標を取得できるようにします。

私は正しいですか?私ですか?(私の興奮を許してください:)

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

javascript - キャンバスに線が引けない

JavaScript で HTML キャンバスに線を引くことができません。記録のために、事前に作成された線画メソッドを使用したくありません。ピクセル操作を使用して行う必要があります。これで既にデータを渡した500x500ピクセルのキャンバスに線を引いてみました

このフィドルで実際にそれを見ることができます。ところで、線を引くための 2 番目の for ループを与えてくれた私の数学は、次のとおりです。245 番目の行全体に色を付けたいのです。したがって、最初の 244 行を渡すには、2000 (各行のデータ ポイントの数) に 244 行を掛けて 488000 を取得します。次に、ループを 500 回繰り返して行の各ピクセルにヒットし、488000 を加算します。右の行に移動します。245行目が黒くならないことの説明/修正をいただければ幸いです。

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

c++ - Qt: QImage を反復処理する最もスケーラブルな方法は何ですか?

QImage呼び出された 内のすべてのピクセルにアクセスするための 2 つの方法を認識していますimg

方法 1

方法 2

ループが 1 つしかないため、2 番目の方法を使用したいと思っていますがpixelCount、「十分に大きな」画像を処理する場合に発生する可能性のあるオーバーフローについても懸念しています。

質問

に格納されているすべてのピクセルを反復する最もスケーラブルな方法は何QImageですか? スケーラブルとは、画像のサイズ (幅と高さ) に関係なく機能することを意味します。

注:メモリ使用量に関して「物理的な」制限があることはすでに認識しています。両方の方法がそのような限界に達することができるかどうかを知りたいだけです。

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

c++ - Qt - ピクセル操作後に unsigned char を表示する

unsigned char として表される操作されたピクセル (グレー スケール) を表示しようとしましたが、失敗しました。

コードは次のとおりです。

理由はよくわかりませんが、表現されている画像は元の画像であり、グレースケール化する必要がある操作された画像ではありません。運がないのでネットで見つけようとしましたが、アイデアはありますか?事前にt​​hx。

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

c++ - テクスチャ ピクセル操作における update メソッドのメモリ管理

Texture クラス (SFML) の update メソッドに渡されるピクセルの配列は、どのようにメモリ管理されますか? これらは私の推測の一部です:

  1. ウィーク ポインターはテクスチャ インスタンス内に保存されます。つまり、独自のピクセル配列へのポインターを保持し、それを自分で管理する必要があります。

  2. 配列はコピーされ、テクスチャによって管理されます (これは、update メソッドが再度呼び出されるたびに、前のメソッドの割り当てが解除されることも意味します)。

2 番目の推測は、テクスチャを複数回更新するためにこれを正当化します。

テクスチャが更新されるたびにピクセルが再割り当てされる場所。それ以外の場合 (ピクセルが弱いポインターとして格納され、管理/割り当て解除/割り当てされていない場合)、ピクセルがユーザーによって管理される別のアプローチが必要になります...

ご回答ありがとうございます:)