質問: 画像処理 合いマークずれ 画像処理 合いマークずれ 画像処理にて定点カメラからのボルトの合いマークズレ( http://www.souisha.com/jirei06/0601.html 060115)を検出したいのですが、無料でよいソフトは有るでしょうか。 ずれている場合、その角度も知りたいです。 元の画像はjpegです。画像は1日1回撮影します。 カメラは真上ではなく、上から斜め45度で見下ろします。 さらに、このような処理に秀でている言語のプログラミンの入門サイトもご紹介いただけないでしょうか。
回答: かなりマニアックな処理なのでそんな無料ソフトがあるかどうかはわかりませんが... 自分でソフトを開発する気があるなら、c言語もしくはc++言語あたりでopencvというライブラリを用いればまだ楽だとは思います。 とはいえ、画像処理は画像処理経験のない方が想像している以上に大変な処理ですよ><。机の上に100円が何枚あるか数えるだけでも、9割超精度がでるならプログラマーとしてもやっていけるぐらいの能力があるでしょう。最近のデジカメもしっかり顔検出しますが、おそらく中ではとんでもなくすごい処理をしていると思います。 背景に何も特徴がないことが保証されているなら... (1)画像から黒い画素(合いマークの色)を探して二値化画像にする。 (2)適宜フィルタ処理(メディアンフィルタ、膨張収縮など) (3)ラベリングする (4)ラベリングされたそれぞれの領域で直線検出(ハフ変換、ランサック等) (5)直線が一本なら正常、三本なら、そのうち二本はおそらく平行なので、一番角度がずれている直線を抽出し、その直線の角度が、ねじがずれている角度。定点カメラでないなら、斜めから撮っている分、さらに角度の補正が必要になりそう>< 画像処理の用語を勉強しないと何が何だかわからないでしょうが、 私がパッと想像した処理はこんな感じです。でもこれは背景に特徴がないことが前提です。背景に黒い色(合いマークと同じ色)がある程度あるならまた全然違った処理が必要になります。環境によっては今の技術でも不可能な環境だって考えられます。白黒チェック柄なんかは強敵です。 ・c言語、c++言語(どちらも兄弟みたいなもんです) ・opencv(手軽にカメラから画像などを取得したい場合はこれ、処理も出来ます) ・画像処理(上の手順で分からない単語が出てきたら「画像処理 ~」で調べれば見つかります) 上のような事柄を勉強していくことになると思います。 画像処理に特化した言語とかは私は聞いたことがないです。 というより、どんな言語であっても画像処理はできます^^。スクリプト言語は微妙ですが... でもcとc++はかなり文献が多いのでネットでもすぐに入門サイトが見つかりますよ。 無料ソフトについてはあまり詳しくなくてすいませんが、 自作するならこんな感じです。 頑張ってください^^