Python for循环执行一次为2号数组

时间:2015-01-16 23:36:29

标签: python opencv

在这个循环中似乎有些奇怪的事情发生了。我试图调试它,我没有解释发生了什么。

此代码来自另一个Stack Overflow帖子,我对它进行了一些编辑。

modelImages = ['/home/lie/Desktop/dylan.jpg','/home/lie/Desktop/melissa.jpg']

for modelImage in modelImages:

    **print modelImage**

    template=cv2.imread(modelImage)
    templateg = cv2.cvtColor(template,cv2.COLOR_BGR2GRAY)
    keys = surf.detect(templateg)

    keys,desc = surfDescriptorExtractor.compute(templateg, keys)

    count = 0



    for h,des in enumerate(desc):

        des = np.array(des,np.float32).reshape((1,64))

        retval, results, neigh_resp, dists = knn.find_nearest(des,1)
        res,dist =  int(results[0][0]),dists[0][0]


        if dist<0.1: # draw matched keypoints in red color
          count=count + 1


    print "space"**

重要部分有星号。这是代码的一部分,用于识别面部图像之间的相似性。代码的作用并不重要。奇怪的是,这个循环对于大小为2的数组执行1次。

输出结果为:

/home/lie/Desktop/dylan.jpg
/home/lie/Desktop/melissa.jpg
space

请注意,modelImages中的两个字符串都是在空格之前打印的。顺便说一下,这是从循环调用的函数的一部分。这似乎更像是一个python问题而不是opencv问题。这似乎有一个隐藏的继续声明

由于

0 个答案:

没有答案