2017-05-28 6 views
0

私は、画像分割、エッジ検出、およびMatlabでの再構成による開閉の作業を行っています。私は、これらの円形オブジェクトのエッジを持つマスクを作成し、そのマスクを元の画像に重ねるという目的で、非常に騒々しい画像で円形オブジェクトを識別しようとしています。オブジェクトの境界と元の画像のバイナリマスクを識別するために、ウォーターシェッド関数と共に再構成による開閉を適用した後、私は完全な円と半円に対応するエッジを得ることができます。識別された完全な円は非常に少なく、ほとんどが半円を取得しますが、この方法は画像からのノイズの大部分をフィルタリングします。Matlab Image Segmentation and Circle Identification

フルサークルのエッジを取得しようとすると、エッジ検出にcanny関数を使用しました。この関数は、円形オブジェクトの大部分の完全なエッジを取得しますが、イメージのノイズのエッジも描画します。これは元の画像にスーパーインポーズするための良いマスクを作成することはできません。

canny関数によって拾われたノイズを取り除くための効率的な方法がある場合、または特定の半径のオブジェクトに対してcanny関数のエッジ検出を、私が望む円形オブジェクトとしてのみ行うことが可能な場合特定の半径を特定する。添付されている元の画像は、暗い垂直バンドまたは影と円の上に明るい光線が画像にノイズを引き起こすものです。 P.S.円形のエッジや背景ノイズが壊れているため、画像に円検出のための関数imfindcirclesが機能しません。あなたは、ハフ変換を適用する前に所定の画像を事前処理することができ、ノイズとして

円形のオブジェクトと暗い縦線と輝点のオリジナル画像は

+1

を変換します。エッジの騒々しい部分がフィルタリングされます。 –

+0

こんにちはメンディ。私が述べたimfindcircles関数は、matlabのハフ変換関数です。エッジが完全に描画され、円が1つのトーンで満たされない限り、サークルは認識されません。たぶん私はハフ変換を含まない別のサークル検出方法を使うことができますか? – user27407

答えて

0

。あなたが得ている問題は、画像全体の不均一な輝度の分布のためです。エッジ検出とハフ変換の前に準同型フィルタリングのようないくつかのフィルタリング手法を適用できます。準同型フィルタリング技術は、画像全体の明るさを正規化し、コントラストを増加させる。この画像ではじめてエッジ検出を適用すると、検出されたエッジ間のギャップを埋めるためにエッジリンクアルゴリズムを使用して、ハフ変換を使用してより良いパフォーマンスを得ることができます。

プロセスはこのように書き、

画像 - >準同型フィルタリング - >気の利いたエッジ検出 - >エッジリンク - >ハフあなたはハフ変換を行うことができます