2016-12-06 19 views
-1

私はPython、opencv、およびsimplecvで作業しようとしています。私は、カメラを使用して画像をキャプチャし、マウスを使用してキャプチャされた画像上に「フリーフォーム」の「塗りつぶされた」領域を描画します。誰かがこれを達成するのを手伝ってもらえますか?ここまで私が今まで行ってきたことは次のとおりです。カメラを使って画像をキャプチャし、Python、SimpleCV&OpenCVを使ってキャプチャした画像の上に「フリーフォーム」の「塗りつぶした」領域を描きます。

from SimpleCV import Camera, Display, Image, Color 

cam = Camera() 
display = Display() 
img = cam.getImage() 
img.save(display) 

while not display.isDone(): 
    if display.mouseLeft: 
     img.dl().circle((display.mouseX, display.mouseY), 4, Color.WHITE, filled=True) 
     img.save(display) 
     img.save("draw.png") 

私はキャプチャされたイメージを描画できますが、円だけを描画できます。それは普通のスピードで描くとあまりにも広すぎます。誰かが私を助けることができる

This is how I want to draw the area

The drawing done over captured image

を、私はこのような何かを達成しようとしていますに対し:ここではそれがどのように見えるのか?

+0

最初にあなたのコードと、(問題の)完全なエラーメッセージを表示します。 – furas

+0

カメラからフレームのクリック可能なボタンを描画する簡単な例 - openCV - https://github.com/furas/my-python-codes/blob/master/cv2/display-button/main.py – furas

+0

こんにちは@furas、ありがとう返信私が言ったように、私は今、SimpleCV、OpenCVで作業を始めており、まだ分かりません。私は続行する方法を知らない 'code' カム=カメラ() IMG = cam.getImage() img.show() ' code' :以下を使用して単純な画像キャプチャ。これに関連するものは何も見つかりません。 カメラを使用してイメージをキャプチャしたいだけです。 次に、マウスを使用して任意の色で塗りつぶしたフリーフォーム領域を描画して、キャプチャしたイメージの領域をマークします。 – Max

答えて

0

は、リスト上のマウスの位置をキープしてポリゴンを描画:

from SimpleCV import Camera, Display, Image, Color 

cam = Camera() 
display = Display() 
img = cam.getImage() 
img.save(display) 

points = [] 

while not display.isDone(): 
    if display.mouseLeft: 
     point = (display.mouseX, display.mouseY) 

     points.append(point) 

     if len(points) > 2: 
      img.dl().polygon(points, filled=True, color=Color.RED) 

     img.dl().circle(point, 4, Color.WHITE, filled=True) 

     img.save(display) 
     img.save("draw.png") 

読むSimpleCVドキュメント:Drawing on Images in SimpleCV

+0

ありがとう@furas。それは私が必要としていたものです。あなたは** Lifesaver **です。私はドキュメンテーション、まだ行くために行くマイルを行っています。マックスについてよろしく。 :) – Max

関連する問題