3

SimpleCV ( www.simplecv.org ) モジュールを使用して、画像の認識と操作を実行しようとしています。残念ながら、受信したビデオ フィードは非常に扱いにくく、何が間違っていたのかわかりません。基本的なサンプルコードを使用するだけです:

import cvwindow = cv.NamedWindow("camera", 1)
capture = cv.CreateCameraCapture(0)
width = int(cv.GetCaptureProperty(capture, cv.CV_CAP_PROP_FRAME_WIDTH)) 
height = int(cv.GetCaptureProperty(capture, cv.CV_CAP_PROP_FRAME_HEIGHT))

while 1:
    img = cv.QueryFrame(capture)
    cv.ShowImage("camera", img)
    k = cv.WaitKey(1)
    if(k == 102):
        cv.destroyWindow("camera")
        break

これは、Logitech Webcam 500 を接続すると完全に機能します。ただし、Vimicro Altair カメラを使用しようとすると、灰色の画面が表示され、ファイルに保存するとファイルが空になります。

また、次の行に沿ったクックブックに基づいて、SimpleCV コードを使用しようとしました。

mycam = Camera()
img = mycam.getImage()

これも同様に失敗しましたが、データを返さない代わりに、完全に黒い画像を返すだけでした。

私はこれを引き起こしている原因をかなり失っています。ラップトップでまったく同じシステムを試しましたが、Logitech カムから画像を取得することさえできませんでした. Python 2.7 と SimpleCV 1.1 で Windows 7 64 ビットを実行しています。

ありがとう

4

1 に答える 1

5

私は SimpleCV 開発者の 1 人です。標準の python openCV ラッパーを使用しようとしているようです。

ここで例を実行することをお勧めします: https://github.com/sightmachine/SimpleCV/blob/develop/SimpleCV/examples/display/simplecam.py

または、ここにもコードがあります:

import time, webbrowser
from SimpleCV import *

#create JPEG streamers
js = JpegStreamer(8080)
cam = Camera()

cam.getImage().save(js)
webbrowser.open("http://localhost:8080", 2)

while (1):
  i = cam.getImage()
  i.save(js)
  time.sleep(0.01) #yield to the webserver
于 2011-10-10T18:50:57.943 に答える