タグ付けされた質問 「image-segmentation」

画像のセグメンテーションとは、デジタル画像を複数のセグメントに分割して、通常はオブジェクトと境界を特定するプロセスを指します。

6
葉の静脈を分割する最良の方法は?
私は多くの研究をしており、葉の静脈を検出するのに使用できる適応しきい値や流域などの方法を見つけました。ただし、多くのノイズが発生するため、しきい値設定は適切ではありません。 私の画像はすべて灰色の画像です。緊急の助けが必要なこの問題を考慮しながら、誰がどのアプローチを採用するか提案してください 編集:元の画像 しきい値処理後 答えが示唆するように、私は次のエッジ検出を試みました キャニー 多すぎるノイズと不要な妨害 ソーベル ロバーツ 編集:もう1つの操作を試みましたが、次の結果が得られました。キャニーとアダプティブで試したものよりも良いですか?

2
ボードゲームで六角形のタイルを認識する方法は?
以下の画像のように、写真の六角形のタイルの境界を認識したいと思います。 正方形のグリッドでの標準的なアプローチは、最初にコーナー(例:キャニー)を検出し、次にハフ変換などを使用して最も長い線を抽出することです。 これは、外側の線の長さが短く、他の線と区別するのが難しいため、16進タイリングでは最適なソリューションではありません。 この問題を解決するアルゴリズムはありますか?opencvで解決策があると特に便利ですが、一般的なアイデアにも興味があります。 更新: pythonとopencvを使用すると、この結果を受け取ることができました: ここに私のコードがあります: import cv2 import numpy as np imgOrig = "test1"; img = cv2.imread(imgOrig+".jpg"); lap = cv2.Laplacian(img, cv2.IPL_DEPTH_32F, ksize = 3) imgray = cv2.cvtColor(lap,cv2.COLOR_BGR2GRAY) ret,thresh = cv2.threshold(imgray,127,255,0) contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_NONE) size = img.shape m = np.zeros(size, dtype=np.uint8) for i, cnt in enumerate(contours): if cv2.contourArea(cnt) …

2
強度レベルの深さに基づく画像の3D再構成?
オブジェクトがビューアーからどれくらい離れているかに基づいてオブジェクトをセグメント化する方法はありますか? 色の値はこの種のことを私たちのために評価できますか?強度レベルは、オブジェクトが視聴者からどれだけ離れているかを判断するのにどのように役立ちますか? 別の画像:

2
セグメンテーションによる画像登録
通常、画像レジストレーションアルゴリズムは、SIFT(Scale-Invariant Feature Transform)などのポイントフィーチャに基づいています。 ラインフィーチャへの参照をいくつか見ましたが、ポイントの代わりに画像セグメントを一致させることが可能かどうか疑問に思っていました。たとえば、与えられたソースと変換された画像: それぞれでエッジ検出、ぼかし、および流域変換を行うことができます: 残念ながら、セグメンテーションは、個々のセグメントに一致するには各画像であまりにも異なることが判明しました。 アフィン変換に不変のマッチング形状と形状記述子に関する論文を見たので、この分野は有望であるようです... 画像のアフィン(または射影)変形に対してより堅牢なセグメンテーション方法はありますか?

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つ以上ある場合は、前と同じ方向を向いたポイントを選択します。その輪郭追従アルゴリズムは理にかなっていると思いますか?

1
葉に覆われた木の枝の再構築
枝の一部が葉で覆われている木の写真で、どのように枝をほぼ再構成しますか? スレッシュホールドして、いくつかの異なる角度で線分で開くことで、枝の可視部分を抽出できます。しかし、葉で覆われたスペースをどのように(およそ)埋めるのでしょうか? このツリーの描画から開始するとします。 画像をグレースケールとしてロードします uu = mmreadgray( 'tree2.jpg') 暗い色のしきい値。バイナリに変換します。200pxエリアの下の接続された領域を削除します vv = mmareaopen(mmbinary(mmthreshad(mmneg(uu)、200))、20) 90度、180度、135度、45度の10pxラインセグメントでvvを開きます。これらの画像を追加して、マーカー画像zzを形成します zz = mmaddm(mmaddm(mmaddm(mmopen(vv、mmseline(10、90))、mmopen(vv、mmseline(10、180)))、mmopen(vv、mmseline(10、135)))、mmopen(vv、 mmseline(10、45))) マーカー画像zzからvvの可視の四肢部分を再構成します aa = mminfrec(zz、vv) 元の画像uuの上に結果aaを表示します。手足の合理的な抽出が達成されます mmshow(uu、aa) 今、手足全体をほぼ再構築する方法についての考えをいただければ幸いです。(または上記の手順の改善)。ありがとうございました!

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フェーズで精度を高めるために、さらにどのように画像を処理する必要がありますか? 色情報を使用してセグメンテーションを改善する方法は?

4
画像内のシマウマのようなパターンの検出(写真からの構造化された光の縞の中心線の検出)
私は、被写体に対してフリンジを投影し、写真を撮るプロジェクトに取り組んでいます。タスクは、フリンジの中心線を見つけることです。フリンジの中心線は、フリンジ平面と被写体表面の間の交差の3D曲線を数学的に表します。 写真はPNG(RGB)であり、以前の試みでは、グレースケールと差分しきい値を使用して、白黒の「ゼブラのような」写真を取得し、そこから各フリンジの各ピクセル列の中間点を簡単に見つけました。問題は、しきい値処理と離散ピクセル列の平均高さの取得により、精度の低下と量子化が発生することです。これはまったく望ましくありません。 私の印象では、画像を見ると、いくつかの統計的掃引法によって、しきい値なしの画像(RGBまたはグレースケール)から直接検出された場合、中心線はより連続的(より多くのポイント)およびより滑らか(量子化されない)になる可能性があります(いくつかのフラッディング/反復畳み込み、何でも)。 以下は実際のサンプル画像です。 どんな提案でも大歓迎です!

1
より良いエッジ保存による画像ノイズ除去
私は入力画像を持っています: そして、ガボールフィルターを使用した葉の静脈検出の出力ですが、出力は本当にノイズが多くなります。 トータルノイズ除去を使用してみましたが、結果は良くありません: しかし、葉脈の細かい部分を失いたくないので、中央値フィルターは私の問題に合わない

2
ガラスなどの半透明材料のセグメンテーション
ガラス状のオブジェクトのセグメンテーションに関する問題に完全に行き詰まっています。オブジェクトをできるだけ正確に取得する必要があります。私のアプローチは異なっていました。最初は、背景を削除して、一部の鋭い輪郭だけが残るようにしました。しかし、それは鋭いエッジ/グラデーションを持つオブジェクトに対してのみ機能します。それ以外の場合は、オブジェクト自体も削除されます。2つの異なる画像を投稿しました。 グレースケールの膨張やそれに対する分割などの形態学的操作によって背景を削除しようとしました。しかし、それはあまり役に立ちませんでした。その後、変更された背景をガラスの灰色と黒色の値から分離するために、k = 3のk-meansを試しました。それはいくつかのケースでは成功しなかったが、全体的/平均的には成功しなかった。また、全体的にぼかしたフィルターを使用してキャニーエッジ検出を実行しようとしましたが、これにより、輪郭が開いた形やノイズが多くなるなど、結果が低下します。 自動しきい値の結果を持つキャニー: testimg = imread('http://i.imgur.com/huQVt.png'); imshow(testimg) imedges = edge(testimg,'canny'); imshow(imedges); 同じことが2番目の画像にも当てはまります。 ご覧のとおり、内側と外側に多くのノイズがあり、ガラス境界からのエッジが2重になっています。縁にも隙間があります。 したがって、これら2つの画像だけでなく、半透明のマテリアルのこの問題に対処するための一般的なアプローチを得るために、あなたのアドバイスが必要です。 1)オブジェクトを損傷することなく背景を削除するための他のアイデア? 2)オブジェクトを背景から分離するための他のセグメンテーション方法は? 可能であれば、Matlab、IPT、または統計ツールボックスのヒントを使用します。他のヒントも大歓迎です! よろしくお願いします。心から

3
最も一般的な現代の画像セグメンテーション技術
私は画像セグメンテーションテクニックについていくつか読んでいて、現代の最先端のセグメンテーションアルゴリズムについて疑問に思っていました。 「必読」である現在のセグメンテーション手法、つまり現在コミュニティで最も一般的に使用されているものは何ですか?どの技術に接触し、最も効果的かつ有用であると思いましたか(そしてどのアプリケーションについて)?

3
YCbCr色空間のCbおよびCrコンポーネントについて
アディティブ(RGB)、サブストラクティブ(CMYK)、HSVのような色空間に精通していますが、私が現在理解しようとしている記事は、画像のセグメンテーション/オブジェクト定義のためにYCbCr色空間を操作しています。 私は朝のほとんどを費やして、YCbCrを自然に説明できるものを探していますが、理解できません。ここで、この色空間の背後 にある一般的なアイデアについてのわかりやすい直観的な説明と、これらの人たちからの画像のコーディング/圧縮にどのように使用されているかについての説明(すべてphoto.SEについて)を得ました。 RGBからYCbCrを計算するための式は、ウィキペディアで簡単にアクセスできます。 この表現の動機がわかりました。Y成分には、画像に関する(人間の目にとって)最も重要なグレースケール情報が含まれています。 私は約そのCb、Crのキャリー情報だ色を、その(人間の目(感性)中のため)、これらは品質に見える失われずに圧縮することができます。しかし、各クロミナンスコンポーネントは実際には何を表していますか? 記事の執筆者が彼らのアプローチで「クロミナンス情報はオブジェクトの定義において最重要である」と述べているように、私は現在の「Yは強度、CbとCrは何とか色情報を運ぶ」レベルで読んでいることを完全に理解できません。 YCbCrを理解する。 「Cbは...、Crは...」、または「XYを介して/またはXYを使用して見ている場合、実際にはCbコンポーネントを見て...」などの答えを探しています。他の方法で、コンポーネントが一緒に色情報を運ぶだけでなく、各コンポーネントが別々に運ぶ情報を理解するのに役立ちます。 編集 私が探しているタイプの他の色空間の直感的な説明の例を挙げましょう: RGB:黒い壁に色付きの懐中電灯を照らすように:青い懐中電灯で照らすと、青い反射が見えます。赤い懐中電灯を追加すると、青と赤の混合であるマゼンタの反射が表示されます。 CMYK:水彩絵の具を混ぜるように、「表面が反射する色に追加する」(つまり、背景から色を差し引く)ので、黄色のものとシアンのものを混ぜると、緑を反映して緑の色になります。 HSV:小さな子供は、明るい(価値)ではなく、彩度の高いオブジェクトに惹かれます。色相コンポーネントは「色を与える」ものですが、彩度が低いと、色は白で「薄く」なります。価値の変化は全体を明るくしたり暗くしたりします。 この定義により、それぞれのチャートを覚えることなく、各色空間の色表現が何を意味するかについて直感的に感じることができました。

3
クロマサブサンプリング:データレートを適切に計算する方法
たとえばY'UV画像でクロマサブサンプリングを利用するときにデータレートを計算する方法を理解するのに苦労しています。 以下の計算例があります。 画像解像度:352*288 周波数:25 fps 以下のために(:4:4 4)以下のように計算例を行きます: (352px * 288px) * 3 color channels * 25 fps * 8 bit = 60 825 600 bit/s ここまでは順調ですね。 しかし、今来る(4:2:0): (352px*288px) * 1.5 color channels * 25 * 8 = 30 412 800 bit/s さて、この例を例(4:1:1)に変換しようとすると、1.5カラーチャネルの比率がどのように計算されるかを正しく理解しているかどうかわかりません。 計算の最初の推測は(4:2:0)の場合でした: 2/4*3=1.5 color channels 同様に(4:1:1)の場合、カラーチャネルの比率を次のように計算します。 1/4*3=0.75 color channels …

1
画像内の車両を数える
私は、画像内の車をうまく数えるアルゴリズムを実装しようとしています。交通画像に複数車両のオクルージョンがある場合の車両カウント方法の実装を試みました さまざまな画像のセットから背景を推定します。私はこの目的のために他のさまざまな手法を検討しましたが、これらすべての方法のいずれかで、画像のセットからの背景推定を使用するか、ビデオを必要とします。私は入力として、背景(おそらくほとんどの論文では道路)がほとんど見えない交通画像を持っています。さらに、画像は異なる領域のものなので、共通の背景もありません。その場合、どうすればよいですか? どういうわけか私が車(車)の構造を一致させることができれば、おそらくそれらを一致させることができると考えています。しかし、これが実現可能かどうか、また、画像には複数の遮蔽された車両が含まれているため、それがどのように進むかはわかりません。 ヒントや研究論文も大歓迎です。 サンプル画像は次のとおりです。

1
車両のセグメンテーションと追跡
私はしばらくの間、UAVからキャプチャされたビデオで車両を検出および追跡するプロジェクトに取り組んでいます。現在、車両および背景画像から抽出されたローカルフィーチャの機能のバッグ表現でトレーニングされたSVMを使用しています。次に、スライディングウィンドウ検出アプローチを使用して、画像内の車両の位置を特定し、追跡します。問題は、このアプローチははるかに遅く、私の検出器は私が望むほど信頼性が高くないため、Imがかなりの数の誤検知を取得することです。 したがって、分類器を適用する前に検索スペースを減らすために、車をバックグラウンドからセグメント化しておおよその位置を見つけることを検討してきましたが、これをどのように行うかわからず、誰かが助けてくれることを望んでいましたか? さらに、レイヤーを使用したモーションセグメンテーションについて読んでいます。オプティカルフローを使用してフローモデルでフレームをセグメント化しています。この方法の経験はありますか。この方法が当てはまるかどうかについて、何か意見があれば教えてください。私の問題。 更新:私はこの質問をスタックオーバーフローにも投稿しましたが、素晴らしい回答がありました。このアイデアはすでに実装されており、驚くほどうまく機能しており、この手法に加えてオプティカルフローを使用して調査しています。 以下は、サンプルビデオの2つのフレームです フレーム0: フレーム5:

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