3

私は、Raspberry Pi をプログラムしてウェブカメラから画像を取得し、その画像でボックスを検索し、サイズの比率でそれがどのボックスであるかを特定する必要があるプロジェクトに取り組んでいます。ボックスは、環境の残りの部分に対して一意の色になります。ボックスからの距離とボックスまでの角度を特定するのも良いでしょう。

私が見たものはすべて、これが可能であることを示しているようですが、数日間検索した後でも、これを行うのに本当に役立つものはまだ見つかりません. このプロジェクトは Python を使用した初めての経験なので、かなり初心者です。これのほんの一部を行う方法であっても、どんな助けでも大歓迎です。

これまでの作業コードは次のとおりです。それは大したことではなく、ウェブカメラから画像を取得するだけです:/

import imgproc
from img imgproc *
camera = Camera(160, 120)
viewer = Viewer(160, 120)
n = 1
while (n > 0):
     img = camera.grabImage()
     viewer.displayImage(img)
4

2 に答える 2

2

これは完全な解決策ではありませんが、開始方法に関するいくつかの良いアイデア:)

まず、OpenCV 用の Python バインディングがあります。OpenCV は、もともと C で書かれたオープン ソースの無料のコンピューター ビジョン ライブラリです: http://opencv.willowgarage.com/documentation/python/index.html

コンピューター ビジョンの問題を解決するときに最初に行う必要があるのは、前処理です。特に、ボックスが別の色であることを知っていると、多くのことが役立ちます。つまり、httpのような手法を使用して、色でしきい値を設定し、ボックスのない場所は黒、ボックスのある場所は白の画像を作成できるということです。 //aishack.in/tutorials/thresholding/ .

次に、このブログで説明されている数独グラバー/ソルバーと同様のプロセスに従います。つまり、ブロブ抽出 ( http://en.wikipedia.org/wiki/Blob_extraction ) を実行してから、ハフ変換を実行して線を取得し、次に線の距離を互いに比較して、ボックスの比率を決定できます。http://aishack.in/tutorials/sudoku-grabber-with-opencv-plot/

多くの優れたチュートリアルがあり、コンピュータービジョンプロジェクトがどのように進むかを簡単に示しているため、それがどのように行われるかの要点を理解するまで、人々の OpenCV 数独ソルバーについて読むだけです: https://www.google.com.au /search?q=数独+opencv&aq=f&oq=数独+opencv&aqs=chrome.0.57j60l3j0l2.1506&sourceid=chrome&ie=UTF-8

于 2013-03-17T22:28:34.187 に答える
0

github リポジトリからSimpleCVをインストールしてみてください。SimpleCV を使用すると、Image.hueDistance コマンドを使用してブロブの色を取得できるはずです。findBlobs コマンドを使用してボックスを見つける場合、各ブロブはパラメーターとしてアスペクト比を持っている必要があります。SimpleCV に関する完全な PyCon チュートリアルをここに投稿しました。ここでスライドのみを表示できます。RaspberryPi に PyGame (SimpleCV 依存関係) をインストールする際に問題があると聞いています。このチュートリアルでは、これらの問題に対処する場合があります

于 2013-03-17T23:02:05.520 に答える