1 | initial version |
I think the problem is the following: You are reorganising the KeyLines, but you are only reorganising the vector. The Keyline itself is not reorganized if you filter. For example the classid member are still the same. For example if you have 2 keylines one keyline with classid 1 and another keyline with classid 2 and you filter out the first one, after reorganising the vector your vector contains a Keyline with classid 2. Now if you call compute from the binary descriptor it relies on that classids. For example in line 570 - 580 of binary_descriptor.cpp it calculates numLines depending the max classid, which would be now 2, but your vector has only size 1 after filtering. That causes the segfault. Dont know if its just enough to reorder the classid. Maybe you cann give it a try.