イメージ内の特定のピクセルを検索する最も速い方法は何ですか? イメージファイルのサイズは16 MBです。アルゴリズムの観点からは、私は線形検索よりも良くなるとは思いません。 私は各CPUごとに2つの象限1で画像を分割し、画像をメモリにロードしてそこから読み取ろうとしました。 私にできることは他にありますか?画像内のピクセル固有のピクセルを検索する最速の方法
答えて
は通常、向上させることができる唯一のことではない:
もし、あなたのアプリケーションのためには、正確な結果が発見される前に、あなたは早く結果を得るとき、次のように、あなたが改善することができるという利点ですが、この努力は価値がないかもしれません投資時間:
ステップ1:2または3ピクセルのステップで検索します。色が似ている場合にのみさらに検索を行います。見つかった場合はリターンピクセル。 (あなたはSTEP1でoverjumpedこと)、
をピクセルの残りの部分を検索する。しかし、色の類似度を計算するため、いくつかのピクセルをoverumpingのゲインを超えるだろう、このアルゴ:見つからない場合
は
ステップ2を行います直線的な検索がおそらく最も良い解決策であることを示しています。
特定のピクセルを見つける機会が少ない可能性のあるピクセル範囲をいくつかの範囲でプル/スキップする方法があります。しかし、リニア検索を実行すると、ディスク上のシーク時間を確実に最適化することができます。Loop Blockingこのようにして、メインメモリを最大限に活用し、ディスクルックアップを減らすことができます。
ます。また、インテルの記事improve memory utilization by means of loop blocking
象限は、実際に少しうるさいですが起こった空間に何かがあるとき、彼らは助けることができる見ることができますが、これは単なる線形検索ですので、彼らはすべてが素敵なシーケンシャルアクセスパターンを破るあります。したがって、データの元の2D次元を無視して、イメージを1Dスライスのメモリで分割するだけです。
さらに、コードがコンパイラによって自動ベクトル化されているかどうかを確認し、そうでない場合(または改善が可能であっても)、SIMD組み込み関数を使用して手動でベクトル化します。 24bppはそれを少し面倒にするでしょうが、48バイトをロードしてから4つのベクトルレジスタにそれをいくつかのシャッフルで再配布することで対処できます。 32bppは非常に簡単です。あなたが見つけたいピクセルと色の間に_mm_cmpeq_epi32
(対象とするとx86を想定しています)を適用し、カウントから結果を差し引きます。
これは行く方法です。あなたは()OpenCVの関数 'INRANGEを見れば'それはhttps://github.com/opencv/opencv/blob/master/modules/core/src ...あなたが欲しいものを多かれ少なかれ行い、ここでは組み込み関数でコーディングされています/arithm.cpp –
- 1. Flickrの画像をxピクセル以上yピクセル以下で検索する
- 2. 画像内のピクセルをテストする
- 3. 画面上のピクセルを検索する最も効率的な方法は?
- 4. WPFの高速ピクセル描画
- 5. 画像内の各ピクセルの円形マスク
- 6. Python/opencv:画像のピクセルを最も近い4ピクセルの平均にする
- 7. 背景画像にピクセル単位の固定幅を設定する方法
- 8. キャンバス内の画像に対してピクセル精度のヒット検出?
- 9. 画像のピクセル座標
- 10. 入力画像からピクセルを取り出す(画像ピクセルのサブサンプリング)
- 11. iOS:画像のピクセルをループする
- 12. 白黒画像のピクセル値を取得する方法は?
- 13. Javaで白黒画像のピクセル値を取得する方法
- 14. MATLABで画像のピクセル値を表示する方法は?
- 15. キャンバスのない画像のピクセルを読み取る方法
- 16. JavaFX:PixelWriterにピクセルを書き込む最速の方法
- 17. 画像内の2点間のピクセル数を取得する
- 18. 画像内のカメラとピクセルの距離を計算する
- 19. 画像内の選択したピクセルの色を変更する
- 20. テキストエリア内のキャレット位置をピクセルで検索する
- 21. 画像のピクセル値を読み取る
- 22. マウスクリックによる複数のピクセル検索
- 23. iosでオリジナル画像のピクセル位置を見つける方法
- 24. ファイルの内容を検索する最速の方法
- 25. 配列内の結果を検索する最速の方法
- 26. (1 * 66)ピクセルの画像を伸ばす方法
- 27. PIL/Pillowで画像内の赤いピクセルをフィルタリングする
- 28. 0を含むピクセルの検索
- 29. Xcode画像/ピクセル操作リアルタイム
- 30. 防ぐピクセル化画像
複数の検索を画像で行うのか、それとも1つだけで検索しますか? – harold
1回。特定の色が何回出現するかを数えてください。 – Xtal
ファイル形式は何ですか?圧縮されていれば(例えば、ランレングス符号化されている場合)、全体を解凍してイメージを反復処理するのではなく、解凍するときにピクセル数をカウントすることで処理速度を上げることができます。圧縮解除された結果も格納する必要はありません。 – samgak