Skip to main content
Participant
January 11, 2018
Answered

エッジ検出と楕円フィッティング

  • January 11, 2018
  • 7 replies
  • 1960 views

楕円に近い図形があり、その内部は黒、エッジがボケていてまわりが白だとします。この時この図形を楕円にフィッティングした曲線を描きたいのですがどのようにすればよいのかご教示ください。

フィッティングの前段階として、この図形のエッジ検出が必要であればその方法もあわせてお示し願います。

    This topic is closed to new replies. Start a new post to keep the conversation going.
    Correct answer Yamonov

    まず、Photoshop(illustrator)ともに画像を解析するソフトウェアではないことをご承知おきください。その上で、

    ・コア部分のみを選択し、フチを描く

    →可能です。ただし、正確な楕円を描くことは不可能で、かならず歪がでます(楕円を描画する→A)

    →正確な(いびつでない)楕円を手動で描いたのち、コア部分に合わせて目見当で変形することは可能です(目見当で角度を拾う→B)

    ※上記のどの方法でも、楕円の長軸を機械的・自動的にある程度の精度を持って求めることは不可能で、目見当になります。つまり「フィッティング」はできません。

    ・目見当で長軸線を引き、角度を求める

    →可能です。Photoshopの場合はものさしツールで直線を引けば、情報パネルに角度が表示されます

    →Illustratorでも同様に角度を求めることはできます。

    Aの方法

         自動選択ツールで、オプションバーの「許容値」を大きめにとってからコア部分をクリックし選択する

         「Q」を押してクイックマスクモードに入り、フィルタ>ダスト&スクラッチで「半径」を最大値にする。様子を見ながら半径値を下げてOKする。

         「Q」を押してクイックマスクモードを抜け、パスパネルの下のボタン「選択範囲から作業用パスを作成」をクリックしてパス化

         レイヤーメニュー>新規塗りつぶしレイヤー>ベタ塗り を選択

         「P」を押してペンツールに切り替え、種類を「シェイプ」にし塗りと線、線幅を設定(下図)

        

    Bの方法

         ツールパネルで楕円形ツールを選択し、コア付近に似た楕円を描画、Aと同様に塗りと線、線幅を設定

        

        
         描画直後に、レイヤーメニュー>スマートオブジェクト>スマートオブジェクトに変換 を選択(これをしないと、後の行程で角度が毎回リセットされる)

         編集メニュー>自由変形 を選択し、コア部分に変形・回転して沿わせる

     →情報パネルに回転角が表示される。自由変形を確定した後でも、再度自由変形を実行すれば角度を確認可能

    正確さを優先するのであれば、OpenCV等のライブラリを使ってPythonなどでプログラミングで画像解析させる方がいいでしょう。例えばこういうもの

    『回転マッチでネジの向きを判定 | OpenCV画像解析入門』http://www.cellstat.net/rotatematch/

    7 replies

    Yamonov
    YamonovCorrect answer
    Legend
    January 11, 2018

    まず、Photoshop(illustrator)ともに画像を解析するソフトウェアではないことをご承知おきください。その上で、

    ・コア部分のみを選択し、フチを描く

    →可能です。ただし、正確な楕円を描くことは不可能で、かならず歪がでます(楕円を描画する→A)

    →正確な(いびつでない)楕円を手動で描いたのち、コア部分に合わせて目見当で変形することは可能です(目見当で角度を拾う→B)

    ※上記のどの方法でも、楕円の長軸を機械的・自動的にある程度の精度を持って求めることは不可能で、目見当になります。つまり「フィッティング」はできません。

    ・目見当で長軸線を引き、角度を求める

    →可能です。Photoshopの場合はものさしツールで直線を引けば、情報パネルに角度が表示されます

    →Illustratorでも同様に角度を求めることはできます。

    Aの方法

         自動選択ツールで、オプションバーの「許容値」を大きめにとってからコア部分をクリックし選択する

         「Q」を押してクイックマスクモードに入り、フィルタ>ダスト&スクラッチで「半径」を最大値にする。様子を見ながら半径値を下げてOKする。

         「Q」を押してクイックマスクモードを抜け、パスパネルの下のボタン「選択範囲から作業用パスを作成」をクリックしてパス化

         レイヤーメニュー>新規塗りつぶしレイヤー>ベタ塗り を選択

         「P」を押してペンツールに切り替え、種類を「シェイプ」にし塗りと線、線幅を設定(下図)

        

    Bの方法

         ツールパネルで楕円形ツールを選択し、コア付近に似た楕円を描画、Aと同様に塗りと線、線幅を設定

        

        
         描画直後に、レイヤーメニュー>スマートオブジェクト>スマートオブジェクトに変換 を選択(これをしないと、後の行程で角度が毎回リセットされる)

         編集メニュー>自由変形 を選択し、コア部分に変形・回転して沿わせる

     →情報パネルに回転角が表示される。自由変形を確定した後でも、再度自由変形を実行すれば角度を確認可能

    正確さを優先するのであれば、OpenCV等のライブラリを使ってPythonなどでプログラミングで画像解析させる方がいいでしょう。例えばこういうもの

    『回転マッチでネジの向きを判定 | OpenCV画像解析入門』http://www.cellstat.net/rotatematch/

    --Yamonov
    Participant
    January 12, 2018

    早速のご回答ならびに詳細なご教示ありがとうございます。

    ご回答中、フィッティングはできない旨理解いたしました。

    この部分は肝となる操作なので大変残念です。

    しかしそれとともに他の画像解析ソフトOpenCVまでご紹介いただき大変勉強になりました。名前だけは聞いたことがありますが、経験はないため、そちらも取り組んでみたいと思います。

    この度は大変お世話になりました。あらためまして深謝いたします。

    Yamonov
    Legend
    January 11, 2018

    求めている内容がよく分かりません…また画像の条件もありますので、もう少し詳しく教えてください。例えば

    ・図形があり←画像データですよね。何かから生成したものでしょうか?スキャンしたものでしょうか?黒、白は完全な黒・白、つまりRGB値やグレーにおいて0/255になっているものですか?白部、黒部は均一な黒、白ですか?

    ・ボケはどこまで拾いますか?ボケの中心?完全に白になる部分?

    ・「フィッティング」の精度をどこまで求めますか?

    ・描く曲線に仕様はありますか?太さ、色等

    ・具体的に何をどうする目的で使用しますか?(答えられれば)

    ・Photoshop以外に使用可能なCCアプリケーションはありますか?

    --Yamonov
    Participant
    January 11, 2018

    早速のご回答ありがとうございます。

    目的から説明させていただきます。光ファイバーの断面写真(jpeg)があり、コアと呼ばれる中心部が楕円形で黒色をし、さらにその周囲をクラッドと呼ばれる呼ばれる白色の部分で囲まれている、という状況(基本的にこの2色です)で、その境目はボケた感じに映っています。

    そしてこのコアの楕円形部分の向き(楕円の長軸が水平方向から何度傾いているか)を求めたいのですが、それにはコアとクラッドのエッジを検出したのち、コア部を楕円にフィッティングすればよいのではないかと考えた次第です。

    ですのでご質問の回答は下記となります。

    ・ボケはどこまで拾いますか?ボケの中心?完全に白になる部分?

    どちらでも構いません。

    ・「フィッティング」の精度をどこまで求めますか?

    楕円の向きが求められる程度。

    ・描く曲線に仕様はありますか?太さ、色等

    フィッティングした楕円が描ければ、角度は別ソフトで求めてもよいので、太さ・色は何でも可。

    ・具体的に何をどうする目的で使用しますか?(答えられれば)

    上述の通りです。

    ・Photoshop以外に使用可能なCCアプリケーションはありますか?

    上述の目的が達成されれば何でも可

    以上よろしくお願いいたします。

    assause
    Community Expert
    Community Expert
    January 11, 2018

    まずソフト名と具体的なバージョンを書きましょう。

    Creative Cloudコミュニティに投稿されていますので、

    どのアプリケーションのことかが現状ではわからないためです。

    質問される際はジャパンフォーラムトップページ右上のテンプレート利用が効率的です。

    Participant
    January 11, 2018

    ご指導ありがとうございます。Photoshop CCでの操作についてうかがっています。

    他方、「ジャパンフォーラムトップページ右上のテンプレート利用」というのがわからないので、URLをお示しいただけないでしょうか。

    Ten A
    Community Expert
    Community Expert
    January 11, 2018

    このディスカッションをPhotoshopフォーラムへ移動しました。

    また、assauseさんが提示しているのは以下のページです。右上の方ににテンプレートがあるので、そちらを参考に質問内容を構成するのが望ましいです。

    ジャパンフォーラム