python错误说无效语法试图创建结构列表

时间:2018-01-01 12:20:51

标签: python python-3.x opencv computer-vision camera-calibration

在相机切除中的关键帧中,我尝试创建一个出现在帧中的点列表,然后尝试创建一个包含以下帧中相应点的列表,以跟踪视频中的点以查找它们之间的K矩阵。

我有以下类来存储每个帧的点,并为每个帧创建一个点列表,并沿着所有帧跟踪它们。

class PointsCorrespondence:
    """
    Stores the point of a specific index.
    """

    # A point is represented as (coordinate X, coordinate Y)
    Point = (float, float)

    # A point with corresponding same point is represented as (coordinates, index of the corresponding point or -1 if there is no corresponding point).
    PointWithCorrespondence = (Point, int)

    # Contains the points represented as one list of notable points for each frame.
    _pointsPerFrame : [[PointWithCorrespondence]]

    def __init__(self, pointsPerFrame : [[PointWithCorrespondence]]):
        self._pointsPerFrame = pointsPerFrame

当我尝试运行此代码来存储其中的点时,我收到以下错误:

  

回溯(最近一次呼叫最后一次):文件" main.py",第4行,in          import pointTracking File" /home/k/Desktop/CV/project/insertc/project12345/pointTracking.py",   第17行

_pointsPerFrame : [[PointWithCorrespondence]]
                ^ SyntaxError: invalid syntax

实际上我不知道为什么会出现这个错误,我尝试了很多东西来检查python的语法风格。

我正在使用python 3.4

1 个答案:

答案 0 :(得分:1)

变量注释是Python 3.6中的新增功能,请参阅例如what's newPEP-526;您需要升级才能使用此语法。请注意,您要将分配给其他两个类属性,而不是将类型注释掉;这可能是无意的。