【发布时间】:2022-01-06 07:27:41
【问题描述】:
我有一个 XML 跟踪文件,它有不同的标签。我正在尝试在文件中查找 X 和 Y 值来计算运动矢量。我将部分文件放在下面:
<Picture id="1" poc="1">
<GOPNr>0</GOPNr>
<SubPicture structure="0">
<Slice num="0">
<Type>0</Type>
<TypeString>SLICE_TYPE_P</TypeString>
<NAL>
<Num>6</Num>
<Type>1</Type>
<TypeString>NALU_TYPE_SLICE</TypeString>
<Length>178927</Length>
</NAL>
<MacroBlock num="0">
<Position>
<X>0</X>
<Y>0</Y>
</Position>
<QP_Y>23</QP_Y>
<Type>5</Type>
<TypeString>I_8x8</TypeString>
<PredModeString>BLOCK_TYPE_I</PredModeString>
<SkipFlag>0</SkipFlag>
</MacroBlock>
这个文件有很多MacroBlock 标签,但其中一些标签有MotionVector。为了提取 X 和 Y 值,我使用了以下代码:
abs_x_tag=list(qpy_node.text for qpy_node in root.findall('Picture/SubPicture/Slice/MacroBlock/SubMacroBlock/MotionVector/Absolute/X'))
我需要找到与特定TypeString 相关的X 和Y 值,但有一次我只能使用上面的代码提取一个值。例如,我需要找到与<TypeString>P 相关的 X 和 Y 值,但我不知道该怎么做。你能帮我解决这个问题吗?
谢谢
【问题讨论】:
-
我需要找出这些 x 和 y 值在哪个图片和宏块中,因为我需要只为 TypeStiring 为 P 的宏块计算运动矢量,对吧?
-
abs_x_tag 包含 XML 文件中的所有 X 值,但我需要找到宏块中 PredModeString 为 Block_Type_P 或 Blcok_TYpe_B 的 X 值?
-
我需要根据它们的块类型来分隔这些 X 值。
-
这个新代码中没有绝对/运动矢量
标签: python python-3.x xml-parsing