2016-08-04 16 views
0

Windowsで作業しているので、python 2.7とsimplecv私は自分のウェブカメラでライブビデオを作っていますし、simplecvに動画のグレースケールバージョンを与えたいと思っています。それを達成するための簡単な方法はありますか? 私は、コマンドを正確にそれを行うが、私はそれを実行すると、私はエラーを取得する必要がありますOpenCVのページ、上のsimplecvを使用してRGB画像をグレイサクルに変換するにはどうすればよいですか?

grayscale() 

が見つかりました:私は現在、オブジェクトトラッキングのために、この作成済みのコードを使用しています

NameError: name "grayscale" is not defined 

が、私が見つけたコマンドを使うべきかどうかは分かりません。コード内でどこに置くべきですか?だれかがアイデアを持っていますか? :単純なCVで

print __doc__ 

import SimpleCV 

display = SimpleCV.Display() 
cam = SimpleCV.Camera() 
normaldisplay = True 

while display.isNotDone(): 

     if display.mouseRight: 
      normaldisplay = not(normaldisplay) 
      print "Display Mode:", "Normal" if normaldisplay else "Segmented" 

     img = cam.getImage().flipHorizontal() 
     dist = img.colorDistance(SimpleCV.Color.BLACK).dilate(2) 
     segmented = dist.stretch(200,255) 
     blobs = segmented.findBlobs() 
     if blobs: 
     circles = blobs.filter([b.isCircle(0.2) for b in blobs]) 
     if circles: 
      img.drawCircle((circles[-1].x, circles[-1].y), circles[-1].radius(),SimpleCV.Color.BLUE,3) 

if normaldisplay: 
    img.show() 
else: 
    segmented.show() 
+0

img = cam.getImage()。flipHorizo​​ntal()。toGray()? – Cabu

+0

それは私のために働いてくれてありがとう! – Jennan

答えて

0

これはまたは動作しない場合があり、例えば ためtoGray(呼び出された関数)をtheresの。私は投票しないでください私はすべての担当者を持っていないplz。 :(

import SimpleCV as sv 
img = img.jpg 
sv.img.jpg.toGray() 
    return gimg.jpg 
+0

あなたの答えに感謝! – Jennan

0

SimpleCVでこれを行うには、複数の方法があります。 一つの方法は、既に記載されている、それはtoGray()メソッドです。 あなたはガウスぼかしでこれを行うことができる方法もあります、また役立ちます画像ノイズ削除する:第三行の後

from SimpleCV import * 
img = Image("simplecv") 
img.applyGaussianFilter(grayscale=True) 

を、IMGオブジェクトは、はるかに少ない高周波ノイズと画像が含まれており、グレースケールに変換

あなたがチェックアウトすることがありpyimagesearch.comで動作します誰。 OpenCV、bなぜGaussian Blurを適用するのが良いアイデアなのかを彼は説明しています。

関連する問題