エッジ検出と楕円フィッティング
楕円に近い図形があり、その内部は黒、エッジがボケていてまわりが白だとします。この時この図形を楕円にフィッティングした曲線を描きたいのですがどのようにすればよいのかご教示ください。
フィッティングの前段階として、この図形のエッジ検出が必要であればその方法もあわせてお示し願います。
楕円に近い図形があり、その内部は黒、エッジがボケていてまわりが白だとします。この時この図形を楕円にフィッティングした曲線を描きたいのですがどのようにすればよいのかご教示ください。
フィッティングの前段階として、この図形のエッジ検出が必要であればその方法もあわせてお示し願います。
まず、Photoshop(illustrator)ともに画像を解析するソフトウェアではないことをご承知おきください。その上で、
・コア部分のみを選択し、フチを描く
→可能です。ただし、正確な楕円を描くことは不可能で、かならず歪がでます(楕円を描画する→A)
→正確な(いびつでない)楕円を手動で描いたのち、コア部分に合わせて目見当で変形することは可能です(目見当で角度を拾う→B)
※上記のどの方法でも、楕円の長軸を機械的・自動的にある程度の精度を持って求めることは不可能で、目見当になります。つまり「フィッティング」はできません。
・目見当で長軸線を引き、角度を求める
→可能です。Photoshopの場合はものさしツールで直線を引けば、情報パネルに角度が表示されます
→Illustratorでも同様に角度を求めることはできます。
Aの方法
自動選択ツールで、オプションバーの「許容値」を大きめにとってからコア部分をクリックし選択する
「Q」を押してクイックマスクモードに入り、フィルタ>ダスト&スクラッチで「半径」を最大値にする。様子を見ながら半径値を下げてOKする。
「Q」を押してクイックマスクモードを抜け、パスパネルの下のボタン「選択範囲から作業用パスを作成」をクリックしてパス化
レイヤーメニュー>新規塗りつぶしレイヤー>ベタ塗り を選択
「P」を押してペンツールに切り替え、種類を「シェイプ」にし塗りと線、線幅を設定(下図)

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

描画直後に、レイヤーメニュー>スマートオブジェクト>スマートオブジェクトに変換 を選択(これをしないと、後の行程で角度が毎回リセットされる)
編集メニュー>自由変形 を選択し、コア部分に変形・回転して沿わせる
→情報パネルに回転角が表示される。自由変形を確定した後でも、再度自由変形を実行すれば角度を確認可能
正確さを優先するのであれば、OpenCV等のライブラリを使ってPythonなどでプログラミングで画像解析させる方がいいでしょう。例えばこういうもの
『回転マッチでネジの向きを判定 | OpenCV画像解析入門』http://www.cellstat.net/rotatematch/
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.