タグ付けされた質問 「computer-vision」

コンピュータビジョンには、シーンや画像の高度な理解と認識を形成するために、画像や高次元データを処理、分析する方法が含まれます。

6
さまざまな素材の画像セグメンテーションの問題
こんにちはCV /パターン認識コミュニティ、 画像のセグメンテーションに関して深刻な問題があります。シナリオは、私の頭を狂わせる炉内の雰囲気です。また、1つの特殊なケースだけでなく、さまざまな材料(ガラス、セラミック、Al、Irなど)のオブジェクトの輪郭を短時間(10秒未満)で検出する必要があります。また、コードのピクセルの連続した行に輪郭が必要です。したがって、チェーンコードまたはいわゆるボーダー/輪郭追跡も必要であるため、オープンホールは適切ではありません。バックグラウンドには、ほこり、粒子などの非線形ノイズが時々現れます。 MatlabまたはOpenCVの提案を歓迎します。 より明確にするために、目標と半透明のオブジェクトの別の画像を投稿しましたが、これも検出する必要があります。また、知っておく必要があるさらなる例。 画像#1を見るとわかるように、画像の右側の部分と、オブジェクトである星の外側の輪郭の近くに粒子があります。また、全体的なコントラストはあまり良くありません。オブジェクト自体は地下にあり、輪郭検出には関係ありません。画像#2は半透明のオブジェクトを示していますが、これも可能です。 次の画面(赤い線)のように、そのオブジェクトの輪郭/境界を見つけたい。2つの長方形(黄色)は、開始点(左)と終了点(右)を示しています。青い線は無視できます。 最初は、フィルターだけでその不潔な雰囲気の問題を解決できると思いました。しかし、多大な時間を費やした後、前景と背景のコントラストを高めるためにノイズを大幅に除去または削減する必要があることに気付きました。ヒストグラム等化、大津適応等化、線形フィルター(ガウスなど)、非線形フィルター(中央値、拡散)、Active Contours、k-Means、Fuzzy-c-means、純粋なCannyなど、多くの方法を試しました。形態学的演算子と組み合わせたエッジ検出。 キャニー:粒子と大気が穴の原因になっていますが、オブジェクトの完全な輪郭が必要です。モルフォロジー演算子を閉じて拡張しても、それだけでは十分ではありません。Cannyには、ヒステリシスがあるため、私が研究したすべての方法の中で最高の結果が残っています。 アクティブな輪郭:エッジ/グラデーションでも機能します。オブジェクト内で初期化した後、完全に狂ったように動作します。これは、エッジマップが「開いた」オブジェクトになっていることが原因である可能性があります。私の知る限り、輪郭を閉じなければなりません。さまざまな派生物(GVF / VFC / Classic Snake)で試してみました。 k-Means:霧の背景のため、結果には炉の雰囲気が含まれます。ファジーc-meansについても同じです。オブジェクトを背景から分離するため、2つのクラスターを選択しました。クラスターが多いと、結果が弱くなります。 ヒストグラム/大津:グレーの強度が非常に近いため(imho!)、オブジェクトと背景をマージしています。ローカルおよびグローバルな方法で試してみました。 フィルター:特にGLPFまたは他のLPFがエッジを塗りつぶしますが、これはあまり良くなく、霧の雰囲気さえも低減しません。 非線形フィルターはエッジを保持しています。それらのほとんどは、大きな画像の計算に時間がかかりすぎます。とりあえず、高速の双方向フィルタを使用しました。結果は以下を参照してください。 したがって、得られたオブジェクトセグメントの結果は既存のアルゴリズムと十分に競合しないため、後処理ステップには単一の方法では十分ではありません。既存のアルゴリズムは非常にローカルであるため、この非常に特殊なシナリオで機能します。 何かを完全に見逃してしまった場合、どうすればいいかわかりません。隙間や穴を開けずに、どのように処理し、どのように良好な輪郭結果を得る必要があるのか​​分かりません。 CCDと物理的環境?前もって感謝します! これまでの最後のアプローチ(MOでの長い実験の後): バイラテラルフィルター(エッジを保持しますが、均一な領域を平滑化します) キャニー(シグマ= 2、しきい値= [0.04 0.08]) 形態学的オペレーション(MO): 、 bwareopen、&closingremovebridge bwlabel輪郭の周囲のみを選択し、不要なノイズを除去します。まだスクリーンショットは更新されていませんが、スターには有効です。ガラスには外側の輪郭に接続された内側の輪郭があります。これは下のスクリーンショットでも確認できます。 そのため、外側の輪郭を横断するための特別なアルゴリズムが必要なのではないかと心配しています。近隣の時計回り/反時計回りの検索になります。コーナーポイントがある場合、その時計回り/反時計回りのステップを切り替えることができます。隙間がある場合は、半径を増やしてもう一度見てください。次のポイントが2つ以上ある場合は、前と同じ方向を向いたポイントを選択します。その輪郭追従アルゴリズムは理にかなっていると思いますか?

3
OpenCV / C ++は、それらの間の距離に基づいて近くの輪郭を接続します
輪郭を接続するかどうかを指定するそれらの間の距離に基づいて、画像内の近くの輪郭を接続する必要があります。 今、同じ問題に関する質問があります/programming/8973017/opencv-c-obj-c-connect-nearby-contoursが、ここで彼はすべての輪郭を単一の輪郭にマージしています。これは欲しくない。このためのopencvの機能はないと思いますが、そのアルゴリズムを提案できます。私のアプリケーションは次のようになります: 私は手を検出しているので、皮膚検出アルゴリズムを使用してそれらを特定しましたが、私の皮膚は白くなく、ひょっとすると肘の輪郭が壊れていることもあります。だから私は近くの輪郭を接続したいがそれらのすべてではない(両方の私の手が輪郭にあるので)(手によって私は肩から手のひらまでを意味するからです)。 さらに、いくつかのエッジ検出を使用することで、手の境界を取得し、この境界内のこのパッチの一部が皮膚として検出されたかどうかを検出すると、この境界内の領域全体が皮膚として検出されますが、これを行う方法がわかりません部。 どんな助けでもありがたいです。前もって感謝します サンプル画像: この画像では、距離が40ピクセル未満のポイント(8つの接続)を接続したいので、左手を単一の輪郭として取得します 私の目的は、手の輪郭のみを取得することです(他の領域は気にしません)

2
コンピュータービジョンと画像処理の間の(明確な)ライン
私はここ数年、コンピュータービジョンと画像処理の両方に取り組んで学び、今では完全な初心者ではないと考えています。 それでも、これらすべての年月の後、それが主にコンピュータビジョン関連であるか、それが画像処理であるかどうかを私の仕事の特定の部分について伝えることは困難です。私はただその行を見ることができません-私が仕事、勉強、研究するとき、私は両方のキーワードで参考資料を読みます。 だから、私はフィールドの比較(違いだけでなく、重複)に焦点を当てて、コンピュータビジョンと画像処理フィールドの定義に興味があります。 さらに、(概念的または既存の)実用的なアプリケーション、プロジェクト、および処理/活用の例を示すことは有益だと思います。 単独(またはほとんど)のコンピュータービジョンツールとアイデア 単独で(またはほとんど)画像処理ツールとアイデア 両方の分野のツールとアイデアの組み合わせ どちらがもう一方ではなく、どちらになるのか、または両方になるのかに特に注意。 これらのフィールドは非常に関連性があり、「線」はこの質問が求めているほど明確ではないかもしれないことを理解していますが、この質問のポイントは分類するための単純な決定ルールを設計することではないことを理解してください(私の)むしろ、これらの分野の焦点と目標のより良い理解。また、特に質問していなくても、質問の調子で話題になっているような追加情報を歓迎します。

2
画像内の曲がりくねった川の検出
私は表面を持っています:と各表面の測定された属性(変数):。ほとんどのサーフェスは、サーフェス全体にランダムに属性が分布しますが、一部のサーフェス(興味深いサーフェス)には、蛇行した川のパターンが表示されます。nnnzi(x,y)zi(x,y)z_i(x,y)ai(x,y)ai(x,y)a_i(x,y) 表面のどれがそのようなパターンを持っている可能性が最も高いかを教えてくれる手段を考え出す際に、あなたの助けが必要です。nnn 以下に示すように、同じヒストグラムを持つ多くのマップがあります。そのため、メジャーは空間的連続性を「報酬」する必要があります。これを説明するために、川の画像とほぼ同じヒストグラムを持つランダム画像を作成しました。 したがって、エントロピーの画像統計は、ソリューションの一部にすぎない可能性があります。 以下は、蛇行する川のパターンのない画像の例です。 私の画像は合成(Matlabで作成)です。実生活では、パターンのない画像は、同様の値の小さな塊の形でいくらか空間的な連続性を持っている場合があります。 グレースケールの画像は次のとおりです。

2
エッジ検出器によって検出されたエッジの接続
キャニーエッジ検出器から取得したバイナリイメージがあります。エッジは中央でうまく検出されないので、それらを結合する必要があります。エッジの接続は方向と近傍に依存します。しきい値(5ピクセル未満の距離など)を下回る場合は、頂点を接続する必要があります。私のほぼ線形の特徴がうまく方向付けられている場合、このしきい値を緩和する必要があります。(これが最良のケースです。) ハフ変換を試してみましたが、直線がないのでうまくいきませんでした。膨張と収縮も良くありません。彼らは画像をより面倒にします。 私が試みているアプローチは、最初に頂点とノードを検出し(MATLABでbwmorph)、その後、別の機能として葉を作成します。これは次のように行われます。 3x3ウィンドウでスキャンし、隣人を探します。 接続されたオブジェクト全体をトラバースします。 線(または2次多項式)を近似しようとします。 接続する価値があるかどうかは、機能ごとに確認してください。 頂点を接続する必要がある意思決定の部分は難しいため、実装は簡単ではありません。

4
基本的なhsb皮膚検出、ネオン照明
これが適切な質問の場所であることを願っています。それ以外の場合は私の間違いとすみません、より良いサイトを教えてください。 ある範囲のhsb画像を使用して、非常にシンプルな肌検出器を実装しようとしています。私はこことここで説明されているアプローチを使用しています。 ウェブカメラのビデオソースを使用しようとしています。私は太陽の照明を使用する場合、それは非常にうまく機能します(それほど良くはありませんが、かなり良い)が、ネオンの光で..それは混乱です。多くの白い領域が検出され、多くの場所でノイズが発生します。 どうして? 私は2番目のソースで説明されているアルゴリズムを使用しています: 画像をHSV色空間に変換する 0 <H <38の範囲に白を置く 拡張フィルター 侵食フィルター ぼかしフィルター

1
バイナリロバスト独立基本機能(「BRIEF」)の理解
Briefアルゴリズムの記述子はどのように相互に一致しますか? テンプレート画像は別の画像でどのように見つかりますか?記述子をどのように比較しますか?私はその記事を読みましたが、彼らがそれをどのように行ったか理解していませんでした。 彼らは、ハミング距離を使用して記述子を比較したと書いていますが、照明、サイズなどの変化に対する不変性はどのように達成されますか?

2
数式を変更して、あらゆる角度でバーコードを検出するにはどうすればよいですか?-MATLAB
数式を変更して、あらゆる角度でバーコードを検出するにはどうすればよいですか? rgb = imread('barcode4.jpg'); % Resize Image rgb = imresize(rgb,0.33); figure(),imshow(rgb); % Convert from RGB to Gray Igray = double(rgb2gray(rgb)); % Calculate the Gradients [dIx, dIy] = gradient(Igray); B = abs(dIx) - abs(dIy); % Low-Pass Filtering H = fspecial('gaussian', 20, 10); C = imfilter(B, H); C = imclearborder(C); figure(),imagesc(C);colorbar

2
点群でのプロファイルマッチング
ポイントクラウドは、のために均一なランダム関数を使用して生成されます(x,y,z)。次の図に示すように、(正確ではないにしても)最適なターゲットプロファイルに一致する、つまり左下のコーナーで与えられる、平らな交差面(profile)が調査されています。だから、質問は次のとおりです。 1- 以下の注意事項/条件target 2D point mapをpoint cloud考慮することにより、このような一致を見つける方法は? 2-座標/方向/類似度などは何ですか? 注1:関心のあるプロファイルは、軸に沿って任意の回転が可能な場所であればどこでもかまいません。また、位置や向きに応じて、三角形、長方形、四角形などの異なる形状にすることもできます。次のデモンストレーションでは、単純な長方形のみが示されています。 注2:許容値は、プロファイルからのポイントの距離と見なすことができます。次の図のためにこれを実証するためには、許容範囲の仮定0.01最小寸法回(~1)そうにtol=0.01。したがって、残りを削除して、調査対象のプロファイルの平面上に残りのすべてのポイントを投影すると、ターゲットプロファイルとの類似性を確認できます。 注3:関連するトピックは、ポイントパターン認識にあります。

3
ホモグラフィ行列からカメラポーズを計算する方法は?
キャリブレーションされたカメラを1台だけ使用するとします。このカメラから、私は画像AとB IがAとBの間のホモグラフィを知ってもらう、通過計算のOpenCVの)(findHomography。 画像Aのポーズ(回転行列Rと並進ベクトルt)がわかっているので、画像Bのポーズが必要です。取得したら、後続の画像のすべてのポーズを計算できるようになります。 Bのポーズの計算の実装を知っていますか?ウェブ上でいくつかの記事を見つけましたが、簡単に実装できるソリューションを見つけることができませんでした...

4
OpenGLでバイナリイメージのコーナーを検出する方法は?
次のような160x120のバイナリイメージがあります。 これらの白い塊の角を検出したいと思います。それらは以前は数学的形態によって閉じられていたため、内側に角はありません。この特定のケースでは、次のような16のコーナーが必要です。 私の最初の試みは、goodFeaturesToTrackやFASTなどのOpenCV関数を使用することでしたが、それらは特に低速です(さらに、FASTは非常に不安定です)。私のアイデアは、ソースイメージがGPUから取得されるため、GPUでそのような計算を行うことです。私はそのようなシェーダーの書き方に関するアイデアをウェブで探しました(OpenGL ES 2.0を使用しています)が、具体的なものは見つかりませんでした。このようなアルゴリズムをどのように開始できるか考えていますか?

4
産業用マシンビジョンシステムにおけるソフトウェアとメカニクス/光学系のトレードオフに関する参考文献はありますか?
簡単な例で質問を説明します。 これらの主な要件を備えたアイテムの自動検査用の産業用ビジョンシステムを設計できます。 良い作品の画像は黒い背景で、作品は灰色でなければなりません。 欠陥は灰色の領域内に白い領域として表示される必要があります。 これらの要件により、システムのソフトウェア部分が大幅に簡素化されます。アイテムを不良品として分類するために、アルゴリズムは白いピクセルを数えるだけです。 しかし、この簡単なアルゴリズムを実現するには、システムの照明/光学/機械部分の設計が非常に上手でなければならず、その部分はソフトウェアよりもコストがかかるかもしれません。 たぶん過去に、「メカニックはできるだけ使い、ソフトウェアはできるだけ使いません」のような文章を読んだかもしれません。1990年代(または1980年代)の実用的なマシンビジョンに関する本に載っていたようですが、適切な引用/参照が見つかりません。

4
本棚の画像からの本のタイトルと著者のスライスと認識
私は自分の学習目的で、次のような本棚のイメージを与えられて、本をリストするアルゴリズムの実装を開発しようとしています: 最初のステップは、画像を個々の本にスライスすることです。 Mathematicaでの私のアルゴリズムは次のとおりです。 img = ColorConvert[Import["http://i.stack.imgur.com/IaLQk.jpg"], "GrayScale"] 基本的なエッジ検出を行い、 テキストを削除し、長い行を維持しようとします edge = DeleteSmallComponents[EdgeDetect[img, 3],Last[ImageDimensions[img]]/5] 次に、不要な水平線を削除します lines = Sort[ImageLines[img5] /. {{0., _}, {_, _}} -> Sequence[]] Show[img, Graphics[{Thick, Orange, Line /@ lines}]] ただし、結果はそれほど優れていません。 私の質問は: これを改善してより良い結果を得るにはどうすればよいですか? これを行うよりスマートな方法はありますか? (後の)OCRフェーズで精度を高めるために、さらにどのように画像を処理する必要がありますか? 色情報を使用してセグメンテーションを改善する方法は?

2
検出された線に基づいてホモグラフィを計算する
「完全なモデル」と画像点の間の対応点を使用して、画像からカメラ平面までのホモグラフィを計算できることを知っています。 私はサッカーのピッチ/フィールドでそれをやっており、エッジ検出を使用してピッチ内の白い線を見つけました。 しかし、カメラは(常に)すべてのピッチをカバーしているわけではないため、すべてのコーナーを見ることができません...そして、モデルのコーナーのみが100%既知のポイントです(他の顕著なポイントはありません)。 問題は、線が別の線と交差して角を形成しない限り、線の画像点のみを知っていることであり、モデルの対応する「完全/現実世界」座標ではありません。 検出された線が互いに交差せずにコーナーを作成していても、検出された線を使用してホモグラフィを計算する方法、または候補ホモグラフィのセットだけを計算する方法はありますか? ピッチ、視野、および対応する実世界/モデル座標(緑色の円)を知ることができるピッチのポイント、および視野内ではまったく役に立たない可能性がある2行の例を示す画像の例、私は彼らがピッチの対応する現実世界/モデルで開始または停止する正確な手がかりがありません: 赤い線は、使用したい線の例ですが、実際の座標はわかりません。カメラのポーズによっては、対応する点が「どこでも」になる可能性があるため、推定するのは難しいです。

4
スケールおよび回転不変テンプレートのマッチング
スケールと回転に不変なテンプレートマッチングの方法を探しています。私はすでにいくつか試してみましたが、それらは私の例にとってそれほどうまく機能しなかったか、実行するのに永遠にかかりませんでした。SIFTおよびSURF機能の検出は完全に失敗しました。Log-Polar Template Matching関数も実装しようとしましたが、まだ終りませんでした(正確な方法はわかりませんでした)。 これらの記事(最初はドイツ語) http://cvpr.uni-muenster.de/teaching/ss08/seminarSS08/downloads/Wentker-Vortrag.pdf http://www.jprr.org/index.php/jprr/article/viewFile/355/148 その方法について読みました。極座標のマッピングは機能しましたが、それが正しいかどうかはわかりません。画像は次のようになります。 source_log_polar.png http://www.shareimages.com/images/pics/0/0/3/62394-pZSfl5WenZysnpyVnKg-source_log_polar.png そして、これらの2つの画像をOpenCVのテンプレートマッチング機能でマッチングした後、私はその結果を得ました 今はどうすればいいのかわからない。 私のテンプレートは、青写真と青写真自体を構築する上で常にシンプルなシンボルです。シンボルのサイズと向きは異なる場合があります。 たとえば、私の単純な青写真: そして私のテンプレート この例では、テンプレートは1つだけですが、設計図では、サイズや向きが含まれているものも含め、すべてのオカレンスを見つける必要があります。 誰も私がこれを解決する方法を持っていますか? 編集: アンドレイのアプローチへの追加。放射状プロファイルの距離キャプチャアルゴリズム。(EmguCVを使用) private float[] getRadialProfile( Image<Gray, byte> image, Point center, int resolution ) { var roi = image.ROI; if ( !roi.Contains( center ) ) { return null; } var steps = resolution; var degreeSteps …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.