問題タブ [lockbits]
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# - ビットをロックしてもピクセルを検出できない
画像のすべてのピクセルをスキャンし、ピンク色を含むピクセルが見つかるたびにスキャンするプログラムを作成しています。ピクセルが黒くなります。ただし、画像にピンクのピクセルが2つある場合は、ピンクのピクセルが見つからないようです。LockBitsを正しく使用しているかどうかはわかりませんが、間違って使用している可能性があります。誰かが私がこれを解決するのを手伝ってくれませんか?
以下のコードは次のとおりです。
c# - C#ピクチャボックス内のビットマップを移動
配列からサイクルで LockBits を使用して画像を作成し、PictureBox.Width * n および Height にスケーリングします。
次の反復では:
要するに、画像をシフトする画像の一部を切り取ってコピーしましたが、何も得られません。前のステップのスケールのために可能ですか?たぶん私は間違っています。新しいビットマップをシフトして末尾に追加するアルゴリズムをアドバイスします。
c# - C# LockBits のパフォーマンス (int[,] から byte[])
このコードを使用して、PictureBox 内の RGB 値 (グレースケール) の配列を変換しますが、遅いです。私の間違いを教えてください。現時点では、441,000 個のアイテムの配列が 35 ミリ秒処理されました。同時に 400 万の配列を処理する必要があります。
c# - BitmapData と Marshal.Copy? Windows Phone の代替手段は何ですか?
更新: BitmapData 用の Windows Phone 7.1 の代替手段を見つけようと探し回っています。問題のコードをコメントアウトしました。私はロックビットを認識しており、設定されたピクセルなどを取得するのに比べて高速であることを認識しています。私の理解によると、BitmapData は操作の準備ができているメモリにイメージをロックします。BmpData.Scan0 はメモリへのポインタとして機能します。
BitmapData を使用せずにこれを行う場合は、Get.Pixel と言ってメモリにマップします。Set.Pixel で画像データの一部を操作しますか?
PS: 処理速度に関して; 多くのピクセルを変更するつもりはありません。
どんな助けでも感謝します。ありがとう
c# - C#の画像内の画像を認識する
画像(干し草の山)の中から画像(針)を見つけたいのですが。
簡単にするために、デスクトップのスクリーンショットを2枚撮ります。1つのフルサイズ(干し草の山)と小さなもの(針)。次に、干し草の山の画像をループして、針の画像を見つけようとします。
- 針と干し草の山のスクリーンショットをキャプチャします
- 干し草の山をループし、干し草の山を探します[i]==針の最初のピクセル
- [2.がtrueの場合:]針の最後から2番目のピクセルをループして、それをhaystack[i]と比較します。
期待される結果:針の画像が正しい位置にあります。
私はすでにいくつかの座標/幅/高さ(A)でそれを動作させました。
ただし、ビットが「オフ」になっているように見えることがあるため、一致するものが見つかりません(B)。
何が間違っているのでしょうか?どんな提案でも大歓迎です。ありがとう。
A.入力例-一致
B.入力例-一致なし
1.針と干し草の山の画像をキャプチャします
2.一致するものを見つけてください
3.完全一致を確認します
java - AndroidのビットマップLockBits?
Androidの私のプログラムは、多くのsetPixelとgetPixelを使用するアルゴリズムを使用しているため、非常に低速です。.NETでは、LockBitsを使用して高速化できます。JavaまたはAndroidにLockBitsなどはありますか?
編集:いくつかの検索の後、私はそれが私が必要としているものであるかどうかを見つけcopyPixelToBuffer
てcopyPixelFromBuffer
疑問に思いましたか?
c# - 色の戻り点でピクセルを見つける
指定された色で最初に見つかったピクセルのポイント/座標(x、y)を見つける必要があります。GetPixel()メソッドを使用しましたが、少し遅すぎてLockBitsを調べていました。しかし、これが実際に私の問題を解決できるかどうかはわかりません。LockBitsを使用して、見つかったピクセルのポイントを返すことはできますか?
これが私の現在のコードです:
c# - BitmapData.StrideがLockBitsに渡された長方形のサイズを無視するのはなぜですか?
画像があり、特定の領域のピクセル値を読み取りたい。
メソッドの最初の引数である長方形は、LockBits()
サブセクションを指定できるようにするためにあると想定しました。BitmapData.Stride
ただし、デバッグ中に、の値が元のビットマップの幅の3倍であり、長方形の幅の3倍ではないことに気付きました。
どうしてこれなの?長方形パラメータの目的を誤解しましたか?
c# - c#.NET - ロックビットを使用して生のピクセル データを抽出する
画像に対して特定の編集を自動的に実行するプログラムを作成しています。
関数の 1 つは、「白」ピクセルを「白」および透明に変換することです。最初は、すべて順調です。
必要なピクセルをすべて透明にして、24bppRGB イメージを 32bppRGB イメージに変換することができました。
画像はピクチャーボックスに読み込まれ、保存すると開くことができます。
ファイルを再編集しようとしたときに問題が発生しました。生のピクセルデータを再度抽出しようとしたとき、何も得られませんでした。私が知る限り、ピクセル データ配列全体は 0 です。
これはなぜですか?
↑これが私の主な質問です。その問題以外にも、プログラムにいくつかの癖があることに気付きました。これらは単なる好奇心によるものです。
次の違いは何ですか:
と
また:
と
2 つ目は、ビットマップのロックを解除したときに AccessViolationException を引き起こしました。
できれば、説明はできるだけ簡潔にしてください。私はこれでかなり新しいです。御時間ありがとうございます。