私は現在、高校のロボット工学チームに所属しています。私の目的は、kinect を使用して、今年の試合で simplecv と openkinect を使用してボールを検出することです。私は現在、私のメンターと私が解決できないように見える問題に行き詰まっています。コードが行うことは、kinect からライブ深度マップ フィードを取得してバイナリ化し、ブロブを探して円形のブロブを見つけようとすることです。最後に、円形ブロブの上に円を描きます。問題は、コードがブロブを問題なく見つけることができますが、円形のものを見つけることができないことです。私は行き詰まっており、コミュニティの誰かが私を助けてくれることを願っています. ありがとう、これがコードと表示されているものの画像です
from SimpleCV import *
cam = Kinect()
display = SimpleCV.Display()
while display.isNotDone():
depth = cam.getDepth().flipHorizontal()
img2 = cam.getImage().flipHorizontal()
filtered = depth.stretch(200,255)
segmented = filtered.binarize(200)
blobs = segmented.findBlobs()
if blobs:
circles = blobs.filter([b.isCircle() for b in blobs])
if circles:
img2.drawCircle((circles[-1].x, circles[-1].y), circles[-1].radius(),SimpleCV.Color.RED,3)
img2.drawText("FOUND A BALL", 50,50,color=Color.RED,fontsize=48)
img2.sideBySide(segmented).show()