Я изучаю соответствие ключевых точек в OpenCV (версия 2.4.8). Попытка распечатать ключевые точки и/или дескрипторы, чтобы получить лучшее представление о них:OpenCV 2.4.8, Python: невозможно распечатать ключевые точки SIFT и дескрипторы
test_img = cv2.imread('../../Downloads/stanford.jpg')
print len(test_img)
detector = cv2.FeatureDetector_create("SIFT")
descriptor = cv2.DescriptorExtractor_create("SIFT")
sskp = detector.detect(test_img)
sskp, ssd = descriptor.compute(test_img, sskp)
print sskp, ssd
Код компилируется, но ничего не говорит о не распечатываются. Вот результат:
/usr/bin/python2.7 /home/.../test_sift.py
683
Process finished with exit code 139
Вот "stanford.jpg" Изображение: http://web.stanford.edu/group/iuc/assets/bg6.jpg
Почему print
здесь не работает?
Что именно вы подразумеваете под словом «ничего не печатает». Потому что, даже если эти переменные были пустыми строками (что маловероятно), он, по крайней мере, напечатает новую строку. Вы видите '[] None'? Вы никоим образом не проверяете, загружено ли изображение ('imread' не будет генерировать исключение). Вы уверены, что изображение действительно загружено? –
Извините, вы правы, я обновил сообщение. Возврат: «Процесс завершен с кодом выхода 139». Я также проверял изображение, действительно есть. –
О, этот код выхода значителен, это segfault. Может быть ошибкой в OpenCV, которая была исправлена с тех пор - эта версия составляет около 2,5 лет. Можете ли вы попробовать перейти на более новую версию? –