Question about octaves in SIFT(opencv2.4.9)

In opencv 2.4.9, I use the feature matching method SIFT.
there is a attr in class “KeyPoint” named “octave”, which represent the DOG layers where the feature point is extracted.
the value of “octave” should be 0, 1, 2…etc, but I get this value when I debug the project, like pts
so how could I convert this value to the right value(0, 1, 2…)?

that field might be unused (ignored) for SIFT, but used by other descriptor algorithms.

size looks like the next best thing, and its value looks sensible.

I took a peek in the source. seems to mean something afterall!

>>> hex(11_469_311)

and it’s building that from three byte sized values, 0xFF (octave), 0x01 (layer?), 0xAF (xi??)

Thanks for your reply.
I tried the func

, it seems to work.
and I get the data like this, the DoGlayer is computed by (octave + 1) * 3 + layer, seems to be right