• ベストアンサー

Edge抽出

画像処理について勉強しています。 Edge抽出手法のひとつ「carry」について質問です。 アルゴリズムとしては、 1.ガウシアンンフィルタ処理 2.エッジ強度、方向を抽出 3.2の情報からエッジを辿り、エッジとして相応しく ないものは「0」にする。 ・ ・ ・ とありますが、 3以降がよくわかりません(汗) どのようにエッジ情報を辿り、どういう条件で辿った 先のエッジをキャンセルするのでしょうか? よろしくお願いします。 また、このフィルタのいい情報源、ございましたら お知らせ願います。

  • y_s-u
  • お礼率45% (68/150)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

こんにちは、AEと申します。 たびたび失礼します! > 残すは、対象画素において、1次微分でのEdge強度をどういう閾値処理を用いて落とす・残すかです。もし、おわかりになるのでしたら、教えてもらえると助かります。 いい情報を見つけました。 参考URLをご覧ください。おそらくこちらのページにある情報が求められているものかと思います。 ちなみに、画像のエッジ(境界)抽出の手順は、 1階差分(1次微分)→2値化→細線化 が基本形で、 平滑化→1階差分→閾値処理→図形融合→細線化→枝の除去 というような、より精度を上げるために様々なフィルタリングを駆使した方法があるそうです。 懸案となっていたのは、この1階差分の部分ですね。 この部分にはSOBELフィルタを使うということが本で紹介されていました。 私自身の復習のためにもいい回答ができるといいなぁ、といつも思っています。 がんばってください。

参考URL:
http://www.microsoft.com/japan/msdn/academic/Articles/Algorithm/03/

その他の回答 (1)

回答No.1

こんいちは、AEと申します。 ※y_s-uさんには以前お答えさせていただきましたね。  その時はあまり力になれず申し訳なかったです。 本件ですが、処理的には「輪郭線追跡処理」というのがあります。 この処理は、ある点をスタートポイントとして、その周りの画素値を反時計回りにチェックし、隣接する画素値を順番に検索していく、というものです。 ※予めエッジとなる画素値=閾値を設定しておく必要があります。 ※またスタートポイントはラスタスキャンして設定するとか、画像をマウスでピックして設定するとかいろいろな方法があります。 この処理のまえにフィルタ処理を行って、エッジ部分の画像強調を行っておけば、この輪郭線追跡処理時の条件がより強調されますのでくっきりとしたエッジを求めやすい、ということになりますね。 私の手元には「画像処理の基本技法」という古い書籍があります。これに詳しく載っています。 WEBで検索したことはないので、不分明ですがきっと「輪郭線追跡」「領域拡大」みたいな単語で検索すれば参考になるHPを見ることができます。 がんばってください!

y_s-u
質問者

お礼

いつもありがとうございます。 「carry」ではなく、「canny」でした(笑) さて、このEdge抽出方法の全体像がわかってきまし て、残すは、対象画素において、1次微分での Edge強度をどういう閾値処理を用いて落とす・残す かです。もし、おわかりになるのでしたら、教えてもらえると助かります。 その他、画像処理における質問をこれからもすると 思いますが、よろしくお願いします。

関連するQ&A

  • 画像のエッジ抽出について

    画像のエッジ抽出について 画像処理を学び始めたばかりのものです。 細菌や細胞などのエッジを、 C言語を使って抽出しようと思っているのですが ・Sobelフィルタ ・FFTによる低周波カット ・ラプラシアンフィルタなど の代表的なフィルターを組み合わせて使っても、綺麗にエッジが出ません。 二値化してエッジになるのには遠い状態です。 自分の撮った画像が悪かったのか・・と思いましたが、 フリーソフトのimageJで、エッジ抽出という処理をすると 綺麗に最近の形状が出ます。 これはどのようなアルゴリズムを使っているのでしょうか・・・ 教科書やネットを調べていても、上の3つ以外にフィルタがなさそうなので 途方に暮れています。。 お恥ずかしいですが、よろしくお願いいたします。。

  • メディアフィルタのアルゴリズムと基本処理の原理

    カラー画像のメディアフィルタ基本処理の原理とアルゴリズムについて教えてください。それと先鋭化処理とエッジ抽出など原理とアルゴリズムについても知っていたぜひ教えてください。

  • エクセルのオートフィルタで抽出できない

    エクセルのオートフィルタでデータを抽出しようとしていますが、あるレコード以降のデータからは条件にあっていても抽出されません。このあるレコードははっきり特定できません。 およそ4000以降くらいかと思われますが・・ この表の中に空白行はありません。 コンボボックスがありますが、何か関係ありますか? よろしくお願いします。

  • 画像のフィルタ処理について

    先鋭化フィルタ、エッジ強調、エッジ抽出、微分フィルタがありますが、いろいろな参考書を見ていますが、それぞれがどのような位置づけであるのかがいまいちわかりません。 ある本には、 先鋭化フィルタ・・・エッジ強調 微分フィルタ・・・・エッジ抽出 またある本には、 先鋭化フィルタ・・・ラプラシアンフィルタ、ボケマスク処理 エッジ強調・・・・・Sobelフィルタ、Prewittフィルタ となっていますが、Sobelフィルタ、Prewittフィルタはともに一次微分、ラプラシアンフィルタは二次微分であるので、それぞれの本を比べるとつじつまが合わない気がして、理解できません。 それぞれの各フィルタはどのように分類されるのが一般的なのでしょうか??よろしくお願いいたします。

  • Excel関数である条件に満たしたものを抽出

    Excel関数である条件に満たしたものを別シートに抽出したいのですが たとえばsheet1に A   B    C ID  名前   条件フラグ 101  太郎   1 102  花子   3 103  一郎   2 104  二郎   3 というデータがあってここから 条件フラグが「3」のものだけをsheet2に抽出したいのですが オートフィルタではなく関数で処理をしたいと思います。お分かりの方、ご教授ください。

  • Excelで複数項目の抽出をするには?

    オートフィルターを使っての抽出は2種類(2個の条件)までは出来ますがそれ以上(3個・4個・5個・・・)は出来ましぇん。数ある生産品目の中から5種類の品目だけを抽出し、それに付随する情報を定期的に集計したいのです。現在は5種類を1個もしくは2個までオートフィルターを使い抽出しコピー→別シートにペースト→もう一度オートフィルターで抽出→コピー→別シートの続きにペーストするを繰り返して必要な情報を整理しています。一回の動作で5個(複数)の抽出が出来る方法を知っている方がいれば是非ご教授頂きたくお願い致します。PS自分なりにネットで調べてみたのですが見つかりませんでした、分かり易いホームページなどでも結構ですので宜しくお願い致します。

  • アクセス・クエリの抽出条件(翌日以降)

    WinXP、OfficeXPまたはOffice2000のアクセスを使用してクエリを 作成しているのですが、抽出条件の設定方法を教えて下さい。 データベースには"年月日"の情報があり、それは当日及び翌日以降の 年月日情報です。 その中から、翌日以降だけのデータを抽出したい場合にどのような 抽出条件を入力すれば良いのでしょうか。

  • accessレポートの抽出条件

    こんにちわ。 いまaccess2000で, フォームからレポートを出力する処理をしています。 そのレポートは[コントロールソース]としてあるクエリを設定しています。 そこで, DoCmd.OpenReport "r_帳票", acPreview, , "[番号] = 'a100'" とコーディングしました。 なおレポートの[フィルタ]プロパティは"はい"にしています。 ところが,出力されたレポートには条件で抽出されずに 全件が出力されてしまいました。 抽出条件を効かせるためにはどうすれば良いでしょうか? 教えてください。お願いします。

  • エクセルでのデータ抽出

    エクセルで入力したデータをオートフィルタ機能を使わずに別のページで条件(名前など)を入力して、検索ボタン等作っておいて、そこをクリックするとその条件に該当する情報が抽出されて一覧で出てくる、という動きはどうすればできますか? エクセルの機能のみで可能なんでしょうか。

  • アクセスでの抽出方法(日付+時刻)

    こんにちは いつもお世話になってますm(_ _)m アクセスでの抽出方法に悩んでます。 毎日、上司への報告で前日の17:00までに受付た情報を抽出してます。 条件は「<=Date()」です。 この条件だと前日の17:30以降のデータも引っ張ってきてしまいます。 思い切って「<=#2005/07/05 17:30#」のように日付を指定してしまう 方法もあるのですが・・・ 毎日やることなのでできれば関数で抽出できますでしょうか?

専門家に質問してみよう