首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Simplecv和openkinect blob检测问题

Simplecv和openkinect blob检测问题
EN

Stack Overflow用户
提问于 2014-02-05 04:38:24
回答 1查看 1.6K关注 0票数 1

我目前在一个机器人团队为我的高中,我的目标是使用我们的kinect来检测球在今年的游戏中使用simplecv和openkinect。我目前被困在一个我的导师和我似乎无法解决的问题上。代码所做的是从kinect获取一个实时的深度地图提要,并对其进行二进制化,一旦它完成了,它就会查找blobs并试图找到循环blobs。最后,它在圆球上画一个圆圈。问题是,代码能够找出没有问题的地方,但是找不到循环的问题。我处于死胡同,希望社会上有人能帮助我。谢谢,这是我们看到的代码和图像

代码语言:javascript
复制
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()

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-10 00:34:12

我已经解决了这个问题,下面是新版本的代码。对不起,这次没有屏幕盖。

代码语言:javascript
复制
import SimpleCV
from SimpleCV import *
display = SimpleCV.Display()
cam = Kinect()
normaldisplay = True

while display.isNotDone():

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

    img = cam.getDepth().flipHorizontal()
    img2 = cam.getImage().flipHorizontal()
    dist = img.colorDistance(SimpleCV.Color.BLACK).dilate(2)
    segmented = dist.stretch(200,255)
    binar = segmented.binarize(200)
    erode = binar.erode(2)
    blobs = erode.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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21568750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档