問題タブ [image-processing]
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.
algorithm - 塗りつぶし操作はペイント アプリケーションでどのように機能しますか?
単純か複雑かに関係なく、すべてのペイント プログラムには塗りつぶしツールが付属しています。これは基本的に、閉じた領域の色を別の色に置き換えます。これを行うためのさまざまな API があることは知っていますが、アルゴリズムに興味があります。このツールを実装するための効率的なアルゴリズムは何ですか?
私がすぐに考えることができるいくつかのことは次のとおりです。
- イメージをバイナリ マップに変換します。ここで、置き換えられる色のピクセルは で
1
あり、他のすべての色は0
です。 - 内側のすべてのピクセルが 1 で、隣接するすべてのピクセルが 0 になるように、変更するポイントの周りに閉じた領域を見つけます。
c# - .NET 設定画像表示サイズ
私はいくつかのカスタム コントロールを使用していますが、そのうちの 1 つは画像を表示できるツールチップ コントローラーであるため、以下のコードを使用してインスタンス化しています。
明らかにインライン化できますが、現時点ではテスト中です。問題は、画像のサイズが時々間違っていることです。表示サイズを設定する方法はありますか。現在確認できる唯一の方法は、GDI+ などを使用して画像を編集することです。実際の画像に影響を与えずに表示サイズを調整したいだけの場合、余分な処理がたくさんあるようです。
image-processing - OpenCV オブジェクト検出 - 中心点
無地の白い背景にオブジェクトがある場合、OpenCV がキャプチャされたフレームからオブジェクトを簡単に検出する機能を提供しているかどうかは誰にもわかりませんか?
オブジェクト (長方形) の角/中心点を見つけようとしています。私が現在行っている方法は、ブルートフォース(オブジェクトの画像をスキャンする)によるものであり、正確ではありません。私が気付いていないボンネットの下に機能があるかどうか疑問に思っています。
詳細を編集: 小さなソーダ缶とほぼ同じサイズ。カメラはオブジェクトの上に配置され、2D/長方形の感覚を与えます。カメラからの方向/角度はランダムで、コーナー ポイントから計算されます。
それは、オブジェクトがその上にある (黒) だけの白い背景です。ショットの品質は、Logitech Web カメラに期待されるものとほぼ同じです。
コーナーポイントを取得したら、中心を計算します。次に、中心点がセンチメートルに変換されます。
この 4 つのコーナーを「どのように」取得するかが、私が焦点を当てようとしているものです。この画像で私の力ずくの方法を見ることができます:画像
c# - C# アンセーフ コードと生の C++ のどちらが速いか
ビデオフレームのリアルタイム処理を実行する画像処理プログラムを作成しています。これは、OpenCV ライブラリ dll (アンマネージ C++) をラップする Emgu.CV ライブラリ (C#) を使用して C# で記述されています。ここで、独自の特別なアルゴリズムを作成する必要があり、できるだけ高速にする必要があります。
アルゴリズムのより高速な実装はどれですか?
C# で「安全でない」関数を作成する
関数を OpenCV ライブラリに追加し、Emgu.CV を介して呼び出す
C# unsafe は JIT コンパイラを通過するため遅いと思いますが、その違いは大きいのでしょうか?
編集:
VS2008 で .NET 3.5 用にコンパイル
algorithm - 動画で面白いフレームを見つける
ビデオの「興味深い」代表的なサムネイルを見つけるために使用できるアルゴリズムを知っている人はいますか?
私は 30 個のビットマップを持っていますが、最も代表的なものをビデオのサムネイルとして選びたいと思います。
明らかな最初のステップは、すべての黒いフレームを削除することです。次に、おそらくさまざまなフレーム間の「距離」を探し、平均に近いものを選択します。
ここで役立つアイデアや公開された論文はありますか?
c# - オフスクリーンビットマップへのPixelShaderの適用
私は現在、画像処理のパフォーマンスを向上させるために.net3.5sp1で導入されたPixelShadersを使用して実験しています。すべてがはるかに高速ですが、それでも、wpfフォームの一部の要素にエフェクトを適用しただけで、実際には避けたいと思っています。
たくさんの画像処理機能があります。パフォーマンスを上げるために、他のものをピクセルシェーダーに少しずつ置き換えたいと思います。そのようなピクセルシェーダーを表示せずにImageSourceに適用する方法はありますか?
java - 大きな画像で既知のサブ画像を見つける
大きな画像内で既知の画像を見つけるためのアルゴリズム (または検索用語/説明) を知っている人はいますか?
例えば
さまざまなボタンと領域 (ターゲット) を含む単一のデスクトップ ウィンドウの画像があります。現在のデスクトップのスクリーン ショットをキャプチャするコードもあります。より大きなデスクトップ画像内でターゲット画像を見つけるのに役立つアルゴリズムが必要です (ウィンドウが配置されている正確な x 座標と y 座標)。ターゲット画像は大きな画像のどこにでもある可能性があり、100% まったく同じではない可能性があります (OS 表示の違いにより、非常に似ていますが、正確ではない可能性があります)。
そのようなアルゴリズムまたはアルゴリズムのクラスを知っている人はいますか?
さまざまな画像セグメンテーションおよびコンピューター ビジョン アルゴリズムを見つけましたが、それらは領域の「ファジー」分類に対応しており、特定の画像を別の画像内に配置するのではないようです。
**私の目標は、いくつかのシード ターゲット イメージが与えられた場合に、デスクトップを「見て」、ターゲット領域を見つけて、変更を「監視」できるフレームワークを作成することです。**
flash - フラッシュのスクリーンショット
サイズの大きい SWF ファイルの画像をサーバーに送信してメールで送信しようとしていますが、送信時間に少し問題があります。
SWF は約 900px x 600px で、AS2 に制限されているため、この Bitmap Exporter クラスを使用しています。データを送信するためにいくつかの異なる方法を使用してみました。base10、base36、およびbase128ですが、いずれもタイムリーにファイルを送信しません。
現在、画像ごとに 60 ~ 120 秒を処理していますが、これは許容できません。
フラッシュを使用して大きなビットマップ データをサーバーに送信するために、このクラスまたは別のクラスを処理するためのアドバイスはありますか?
お時間をいただきありがとうございます。
c# - 2つの画像を比較して、画像のパターンを認識するにはどうすればよいですか?
サイズやパターンサイズに関係なく、.Net C#を使用して、2つの画像を比較し、画像内のパターンを認識するにはどうすればよいですか?また、画像処理からこれを行うために使用されるアルゴリズムはどれですか?
c++ - 画像処理: スーパーピクセル (128x128 ピクセル) 座標を変換するスマートなソリューションが必要
unsigned short array(1次元)内に癌CT画像が格納されています。
画像内にがん領域の位置情報がありますが、座標 (x,y) はスーパーピクセル (128x128 unsigned short) です。私の仕事は、この地域を強調することです。
スーパーピクセル座標を unsigned short 配列に使用できるオフセットに変換することで、これを解決しました。それは正常に動作しますが、私のソリューションには 3 つのネストされた for ループが必要なので、この問題を解決するためのよりスマートな方法があるかどうか疑問に思います。
ushort配列「スーパーピクセルワイズ」にアクセスすることは可能ですか?スーパーピクセルでushort配列をナビゲートできます。
私はこれがうまくいかないことを知っています。私が考えていたことをあなたに伝えるために:
更新 1:
はい、あいまいです。写真でもう一度試してみましょう。
ushorts
ポインターを使用して 128x128 に一度にアクセスするのが好きなのでmemcpy
、128x128 フィールドにデータを入力できます。
更新 2:
bitblit 転送のヒントは大いに役立ちました。