• ベストアンサー

角が丸部分を画像上から検出する方法を教えて下さい

VisualStudioC++2010とkinect for windows、Point Cloud Library(PCL1.5.1)を用いて形状認識プログラムを作成しています。 中でも、角が丸い矩形を認識する方法がどうしてもわかりません。 エッジ検出や3次元情報から角が丸いものを検出しようとしているのですが、納得のいく結果が得られません。 PCLを用いた「矩形検出」と「丸い角を検出」方法をどなたか知っているのであれば、教えていただけないでしょうか。

  • A1200
  • お礼率33% (9/27)

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

  • ベストアンサー
  • utun01
  • ベストアンサー率40% (110/270)
回答No.1

PCLとか使ったことが無いので、考え方のご提案だけ。 見当違いであれば無視して下さい。 「角が丸い矩形」ということは、縮小したら通常の矩形検出アルゴリズムで検出可能ではないでしょうか。 これが可能であれば、縮小率から角の丸さを算出することも出来る気がします。

A1200
質問者

お礼

丁寧な回答をくれて、ありがとうございます。 検出ですが、対象物の輪郭線が、大きく途切れていなければ上手くいきます。

関連するQ&A

  • 複数のKinectからのデータ取得方法

    卒業研究で、スポーツ教育支援システムについて研究しています。その中で、スポーツ選手のフォームを撮影するために、Kinect for Windowsを使いたいのですが、これを複数つなげる方法はありますか。 Kinectを複数台つなげたとき、それぞれに移っている人物が同一であるかを判断したり、データの精度を高めたりするためには、位置合わせを行う必要があります。 位置合わせを行う機能を持つものとしてPoint Cloud Library(PCL)が挙げられますが、それ以外で、複数台のKinectの位置合わせを行い、データを取得する方法を教えていただきたいのです。具体的なソースコードなどがあれば、提示していただけるとありがたいです。 初心者なので、陳腐な質問かもしれませんが、ご教授よろしくお願いいたします。 OS : Windows 7 Professional 開発環境 : Visual C++ 2010 Express ライブラリ : OpenNI もしくは Kinect for Windows SDK

  • 触角を用いたエッジ検出

    卒業研究に、3次元空間において能動触角を用いたエッジ検出を行っています。現在は「台車の前進を挟んだ任意のz座標においてx,y座標が等しい場合、その点をエッジとする。」と判断基準を設定していますが、担当の先生からは「対象物の形状が限られ、汎用性がない」と指摘されました。対象物をなぞるという方法も考えましたが、他に何かいい方法はないでしょうか?

  • [緊急] 添付画像にある,黒枠内だけを切り出す方法

    [緊急] 添付画像にある,黒枠内だけを切り出す方法を探しています. これまでパターンマッチングを用いて,矩形部分を切り出そうとしていました. しかし,一度矩形を書き込んだ画像を再度取り込み,矩形に沿って切り出すのは二度手間ではないかと考えています. この画像の黒枠内だけを切り出す方法として,何か方法やプログラムなど,少しでも構わないので助言お願いします. 目標として,黒枠内のみ切り出し,切り出した画像を指定したフォルダに保存するところまでが目標です. 今のところ,別の方法として,エッジ検出やハフ変換も視野に入れています. 回答よろしくお願いします. 補足 開発環境の補足です. 現在の開発環境はマイクロソフトVisualC++上でプログラムを書き,opencvで画像処理をしています.

  • as3でkinect for windows v2

    表題の通りですが、 AS3でkinect for windows v2を制御する方法(ライブラリ、ANE)は ありませんでしょうか。

    • ベストアンサー
    • Flash
  • [緊急] 添付画像にある,黒枠内だけを切り出す

    添付画像にある,黒枠内だけを切り出す方法を探しています. これまでパターンマッチングを用いて,矩形部分を切り出そうとしていました. しかし,一度矩形を書き込んだ画像を再度取り込み,矩形に沿って切り出すのは二度手間ではないかと考えています. この画像の黒枠内だけを切り出す方法として,何か方法やプログラムなど,少しでも構わないので助言お願いします. 目標として,黒枠内のみ切り出し,切り出した画像を指定したフォルダに保存するところまでが目標です. 今のところ,別の方法として,エッジ検出やハフ変換も視野に入れています. 回答よろしくお願いします. 補足 開発環境の補足です. 現在の開発環境はマイクロソフトVisualC++上でプログラムを書き,opencvで画像処理をしています.

  • 角断面形状(コの字)のR曲げ加工方法について

    角断面形状(コの字)のアルミ素材(15mm*19mm 定尺2m)を2次元または3次元にR曲げをした部品(ガイドレール)を製作(試作テスト)したいと考えております。 つきましては、以下の情報をお教えください。  ?加工方法及び加工機(ベンダー機メーカーなども判ると助かります)  ?加工可能な企業                                 

  • テーパ形状の測定方法

    フィルム上にあいたμオーダーの貫通穴のテーパ角、形状を測定したいのですが。 計算ではなく、実際の形状をなまなましくみたいと思い測定ツールを探していますが見つかりません。レーザ変位計で測定を行いましたがうまくいきませんでした。(テーパ部分が検出できなかった) どなたか良い測定機、測定方法をご存知でしたが教えてください。

  • 基板用CAD EAGLE、角穴に角ランドは可能?

    日頃、プリント基板の設計にCAD EAGLEを使っているのですが、 コネクター関係の部品などは、メーカーのデータシートのなかで 平たい端子やパーツのツメなどに対して、角穴に角ランド(パッド)で実装するように 指定された部品が少なからず出てきます。 現在はやむなく丸いパッドで対応しておりますが、やはりこれでは精度に問題が出るため 角である必要性を感じるようになりました。 CAD EAGLEではライブラリの作成中、パッドは選択肢にあるものしか使えないように 見えますが、このような形状のパッドを配置する方法はあるのでしょうか?

  • 四次元はなぜ納得感を持って想像できないのでしょう?

    四次元は「想像」できるものではないということについて、皆さんの考えを教えてください。 先に断っておくと、今回の話題は数学的な性格ももちろん帯びているでしょうが、どちらかといえば現実的・物理的(非観念的)な話になると思います。 そもそも三次元すら、私たちは想像上でしか触れていないものを納得しているだけだと思うのです。 というのも、我々の視界は根本的にテレビとかの映像と変わるものではなく、二次元だからです。二次元として広がっている視界内にある諸々の三次元の物体を三次元のものとして当たり前のように認識できるのは、そういった物体をいろんな方向から見たときの見え方の関係とそれに伴う時間経過の関わりをよく経験しているかだなのだと私は思います。つまり実質的には時間軸が、実は三番目の次元として我々の認識を構成しているように思えます。 両目あるから立体を認識できるという考えが主流のように思えますが、ではたとえば先天的に片目しか見えない人間は立方体の等角写像を見ても菱形を3つ組み合わせた形としか見れないのかといえば、そんなことはないと思います。 その納得感は触覚の記憶から来ていると思います。四角い形を手のひらで包むように触ったときの、頂点の尖った感覚の位置関係。そういう記憶によって、静止した図面であっても、それが三次元を描いた図と断ってもあれば、その図が則っている遠近法から三次元としての物体が納得感をもって想像されるのだと思います。ちろんその情報は両目が見える一般的な人の納得感にも寄与していると考えます。 そういうわけで、視界や図として二次元にしか触れていない我々が三次元の形状の全体像を理解しているというなら、4次元は数式や断面図から断片的な性質として理解するしかなく、その形状の全体像は想像できるものではない、というのは実は思い込みに過ぎないのではないかと思いました。 しかしクラインの壺にしても超球にしても、いろいろな啓蒙記事からイメージを膨らませて見ても、私を含め確かな納得感にまでは至らないという人が多いと思います。一体三次元との違いは何なのでしょう?三次元にしても立方体を回転させたアニメーションとか、平面の現象にせいぜい時間軸を足したもので納得しているだけです。もしも遠近法が考慮された平面の図が触覚等の記憶により実質的に三次元の情報として我々の認識に作用するのであれば、アニメーションなら四次元までは無理なく表現できるはずで、また我々もそれに納得感を感じなければおかしいと思うのですが、現実問題納得できない。立方体の図にが側面の辺の長さは異なっていても何も思わないのに、超立方体の図はどうしてもへこんだ箱、あるいは立方体が入れ子になったような状態というところから納得感のある想像へと昇華させることができずに悶々としてしまうわけです。なぜこういったことになっているのか。 また別の事例として四次元であれば三次元の密室から壁抜けということがいわれることがありますが、このようなことも観念的には理解できても現実的なあるいは物理的なことしてはどうにも納得感が持てません。四次元方向に移動すると三次元の人からは消えたように見える、その後部屋の外に「着地」すれば壁抜けは完了するということですが、これがもう分かりません。 では我々が密室を壁の破壊を伴わずに「壁抜け」することができないのはなぜなのかと考えてしまうのです。それは我々が三次元しか認識できないからなのか、であれば認識に頼らずでたらめに動けば抜け出せるのか、いやそういうことはないだろうと思ってしまうわけです。私の素人考えですがこの空間には次元という制約はなく無限の方向が広がっているのではないかとすら思っています。一方で宇宙全体ならともかく局所的には三次元の広がりとしか空間は実在していないから、密室という有限空間の四次元を介した壁抜けというのはできないのではないかなとも思います。つまり四次元の壁抜けというのは数式では表現できても物理的な意味付けは原理的に不可能で、こちらについては想像すること自体がナンセンスだと思うのですがみなさんはどう思いますか? 余談ですが電磁波は三次元の現象だから我々の目の前に四次元の物体があっても三次元の物体と区別がつかないようにしか見えないという説を聞いたのですが、では音波ならどうなのだろうかと思ったことがあります。つまり(1,1,1,0)と(1,1,1,1)のベクトル成分を持った音波をそれぞれ聞き分けることが我々には可能なのではないか、三次元でいう触覚の記憶のように、エコーロケーションの経験があれば四次元の形状の全体像に対するイメージを無理なく持てるのではないかと思いましたが、これについても意見があったら聞かせてください。

  • 等角螺旋(らせん)の3次元的な数式表現

    等角螺旋(らせん)の数式表現について教えてください ひょんなことから等角螺旋形状のモデリングらしきことをすることになったのですが、 これの3次元的な表現方法がよくわかりません。 例えば、牛や羊の角は3次元の等角螺旋構造ではないかと思うのですが、 これを球座標表現、ひいてはxy座標で表現する場合、どのような数式であらわせるのでしょうか? 2次元平面内での表現は 極座標だと  r = exp(θ) このとき、螺旋上の点(x,y)は x = r*cosθ  y = r*sinθ とあらわせると思うのですが、 これを3次元空間内で表現する方法がよくわかりません ご教授いただければ幸いです よろしくお願いします

専門家に質問してみよう