在字符串

时间:2015-06-24 18:25:36

标签: performance python-2.7 matrix lookup

我有一个长度为480000的字符串,它代表一个800x600的帧。 意思是600行和800列。我需要找到一个3X3的正方形,所有9个值都在特定范围内。我有自己的范围。并返回中间的索引。

这就是我现在正在做的事情:

    # find 3x3  minValue < square < maxVlaue
    for row in range(598):
        for col in range(798):
            if checkRow(frame,row,col,minValue,maxValue): 
                if checkRow(frame,row+1,col,minValue,maxValue):
                    if checkRow(frame,row+2,col,minValue,maxValue):
                    string = str(row+1),str(col+1)
                    print string
                    return 


def checkRow(Frame,row,col,minValue,maxValue):
    if (Frame[row*800+col])>minValue) and (Frame[row*800+col])<maxValue):
        if (Frame[row*800+col+1])>minValue) and (Frame[row*800+col+1])<maxValue):
            if (Frame[row*800+col+2])>minValue) and (Frame[row*800+col+2])<maxValue):
                return True 
    return False

这样我检查每个“像素”,直到找到方块。

这个工作在python中有某种特殊功能吗? 或者更快更有效的算法?

我考虑过每2列检查一个像素并跳过2行。这样我就可以确保我不会错过3x3的方块,但是这样当我点击一个像素时,我需要检查9个不同的方块本身。所以我不确定会有多快。

感谢

0 个答案:

没有答案