問題タブ [stride]

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 に答える
8950 参照

c# - BitmapSource.CreateがArgumentExceptionをスローするのはなぜですか?

ImageとBitmapSourceを使用して、生データから作成されたビットマップを取得してWPFに表示しようとしています。

ただし、BitmapSource.Createを呼び出すと、「値が期待される範囲内にありません」というArgumentExceptionがスローされます。これはこれを行う方法ではありませんか?私はその電話をきちんとかけていませんか?

0 投票する
2 に答える
16433 参照

c# - int[] 配列から IntPtr を取得することは可能ですか?

ご挨拶。

C# の場合: このように宣言された int[] 配列がある場合

この配列から IntPtr を取得する方法はありますか?

問題は、私が EmguCV フレームワークを使用していることです。配列 (int[]) からイメージを構築するために、IntPtr をピクセル データに取り込むイメージを作成するコンストラクタがあります。

ところで、誰かがストライドの計算方法を教えてくれたら、それは素晴らしいことです.

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

python - numpy 配列ビューを opencv マトリックスに変換するには?

私は opencv v2.2 を使用して ndarray でテンプレート マッチングを行っていcv.fromarray()ます。メモリリークを塞ぐのではなく、次のようにfromarray()関数を避けてcv.SetData直接使用しました。

これにより、メモリ リークが解決foo_cvされ、範囲外になると適切に割り当てが解除されるようです。ただし、foo_numpy大きな配列の単なるスライス/ビューである場合、許可されないという問題がありfoo_numpy.dataます(不連続な配列の単一セグメントバッファを取得できません)。現時点では、新しいコピーでバッファを取得できるようにするfoo_numpy.copy()ifを作成することで、これを回避しています。foo_numpy.base != Noneしかし、これは不要だと感じています。スライスには があるので、適切なステップサイズ__array_struct____array_interface__それをどうにかしてストライドできるはずですか? このベースは、無限に別のより大きな配列のビューにもなる可能性があるため、良い方法でそれを行う方法がわかりません。

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

c - memcpy の標準的なストライド バージョンはありますか?

10 要素の長さの列ベクトル A があります。10 x 10 の行列 B があります。B のメモリ ストレージは列優先です。B の最初の行を列ベクトル A で上書きしたいと思います。

明らかに、私はできる:

0 + 10 * iここでは、B が列優先のストレージを使用していることを強調するためにゼロを残しました(ゼロは行インデックスです)。

今夜の CUDA ランドでの悪ふざけの後、私は CPU 機能がストライド memcpy を実行する可能性があるのではないかと思いました?? 低レベルでは、パフォーマンスはストライドされたロード/ストア命令の存在に依存すると思いますが、x86アセンブリにあることを思い出しませんか?

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

shell - シェルのバイナリ入力の開始からストライド k の倍数のオフセットを持つサイズ n のブロックのみを出力する

ブロックサイズ n と別のサイズ k が与えられた場合、k の倍数の入力の開始点からのオフセットを持つブロックのみを出力する方法を探します。

2 バイト データの 4 タプルの数で構成されるファイルを想像してください。この入力が与えられたので、各タプルの最初のエントリのみが必要です。

入力例:

n=2 および k=8 の出力例:

これは、入力の最初の「列」にすぎません。

perlやpythonでこれを行うのは簡単ですが、ターゲットシステムにはperlやpythonがなく、基本的なユーティリティしかないため、シェルスクリプトでこの機能が必要です。そのために既存のツールを悪用する方法があることを願っています。それが不可能な場合は、それを行うCをいくつか書きますが、避けたいと思います。

1 つの使用例は、生のオーディオ ファイルから 1 つのオーディオ チャネルを抽出することです。

0 投票する
8 に答える
4629 参照

iphone - Cでストライドでメモリをコピーする最速の方法は?

RGBA 画像データから 1 つまたは 2 つのカラー チャネルをできるだけ早くコピーしようとしています (これはコードの最も遅い部分であり、アプリ全体の速度が低下しています)。ストライドでコピーする高速な方法はありますか?

データは単純に RGBARGBARGBA などのように配置され、R 値だけをコピーするか、別のケースでは RG 値だけをコピーする必要があります。

私がこれまでに持っているのは、R値をコピーするための大まかな方法​​です:

RG 値については、次のようにしています。

データはすべて符号なしの 1 バイト値です。もっと速い方法はありますか?私はすでにループを部分的に展開しました (反復ごとに 64 の値を実行します - それ以上のスピードアップはわずかです)。プラットフォームは Armv7 (iOS) であるため、NEON (SIMD) を使用すると便利な場合がありますが、残念ながら経験がありません!

データを変更することは残念ながら問題外です。これは opengl の readPixels() 関数によって提供され、iOS は L、LA、RG などの読み取りを私が知る限りサポートしていません。

0 投票する
5 に答える
5577 参照

c# - 負のストライドでビットマップからピクセルデータをコピーするにはどうすればよいですか?

ビットマップを8bppに変換する最速の方法を探していました。私は2つの方法を見つけました:

1.1。

2. http://www.wischik.com/lu/programmer/1bpp.html

しかし: 1。非常に低品質の結果になります(不良パレット)

2は、負のストライドのビットマップを表示します。ロックビットを使用してデータをバイト配列にコピーしようとすると、例外が発生します。保護されたメモリの読み取りまたは書き込みを試みました。これは多くの場合、他のメモリが破損していることを示しています。

どうすれば2を作ることができますか?または、負のストライドのロックビットを使用してデータをコピーするにはどうすればよいですか?

0 投票する
5 に答える
23316 参照

python - Python String Slicing Stride の明確化

そのため、スライスのストライドパラメーターを実際に扱うことはできません。
たとえば、"123456"[::-2]を生成"642"しますが、なぜ"123456"[1::-2]生成"2"して"123456"[2::-2]生成するの"31"でしょうか?

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

c# - 画像処理(一般)

ダミーの質問で申し訳ありませんが、私はこれに不慣れで、答えを見つけることができませんでした。

  1. イメージストライドとは何ですか?
  2. Bitframeからバッファbyte[]を作成しています(問題はありません)。ビットフレームの幅は1200、ビットフレームの高さは900です。したがって、(おそらく)バッファは1200 * 900=108,0000である必要があります。ただし、バッファサイズはストライド*高さ= 432,0000(4 * 108,0000)です。

ストライドは次のようbitFrame.PixelWidth * ((bitFrame.Format.BitsPerPixel + 7) / 8); に計算します。次に使用しbitFrame.CopyPixels(pixels, stride, 0); //(byte[] pixels)ます。現在のピクセル(つまり構造体)を処理する機能があります。

また、ピクセル処理機能pixelもありprocessPixel(int x, int y)ます。この関数をバッファでどのように使用できますか?私はそれがどういうわけかこのように呼ばれなければならないと思います:

0 投票する
2 に答える
748 参照

arrays - D 動的配列の初期化、ストライド、インデックス操作

申し訳ありませんが、これは配列に関する 3 つの質問になりました

(動的) 配列は D では本当に強力だと思いますが、次のことがしばらく気になりました。

C++ では、指定された値で配列を簡単に割り当てることができましたが、DI ではその方法が見つかりませんでした。確かに、次のことは問題ありません。

0しかし、1 行目は で初期化され、2行目は で初期化されるため、効率が悪いように見えますa0。次のようなことを D で行うことはできますか?


std.range でストライドを使用するときのもう 1 つの効率の問題:

確かに、ストライドを使用して、要素をコピーせずに新しい配列を作成できると単純に考えていたのでしょうか。Dではそうする方法はありませんよね?


そこで、配列がストライドが返すようにシミュレートし、次のように実装fしました。

インデックス演算子を使用して代わりに get(x) を記述する方法はありますget[x]か? このようにして、ストライディング関数を静的にミックスイン/インクルードしget、残りの関数を同様に保つことができました。ローカル構造体は関数スコープ変数にアクセスすることが許可されていないため、採用されたアプローチに興味があります(なぜですか?)。