用opencv和python在videostream中进行骨架化

时间:2017-01-19 19:20:56

标签: python opencv

我想用OpenCV 3.1和Python 3.4构建一个行跟随者。现在我需要骨架化,但代码对我不好,我不知道为什么。也许我的数据类型错误!? 流被平滑,转换为灰色图像,我在此代码之前使用了阈值过滤器。

    size = np.size(threshold)                                                         
    skel = np.zeros(threshold.shape, np.uint8)                                    

    ret, threshold = cv2.threshold(threshold, 127, 255, 0)                                
    element = cv2.getStructuringElement(cv2.MORPH_CROSS,(3,3))                      
    done = False                                                                         

    while (not done):                                                                 
        eroded = cv2.erode(threshold, element)                              
        temp = cv2.dilate(eroded, element)                                  
        temp = cv2.subtract(threshold, temp)                                     
        skel = cv2.bitwise_or(skel, temp)                                        
        threshold = eroded.copy()                                                     
        zeros = size - cv2.countNonZero(threshold)                                  
        if zeros==size:                                                                     
            done = True 

在此代码之后,流非常缓慢。谁知道为什么?

提前感谢您的帮助。

0 个答案:

没有答案