2017-02-14 10 views
0

Я пытаюсь просмотреть матрицы Opencv при отладке в gdb.Отладка матриц OpenCV в GDB, C++

Я попытался использовать этот скрипт cv_imshow.py.

Первый раз, когда источник import Image не работал. Это не удалось, потому что gdb использует python 3, у которого не было PIL или Pillow.

Затем я установил Подушка для Python 3: pip3 install Pillow

Затем замените import Image с: from PIL import Image

Оставшаяся проблема заключается в преобразовании cv_imshow.py из питона 2 в питон 3.

Вот что я сделал:

- return (seq[pos:pos + size] for pos in xrange(0, len(seq), size)) 
+ return (seq[pos:pos + size] for pos in range(0, len(seq), size)) 

Также заменены unicode с str

Однако, когда я печатаю

(gdb) source /home/user/gdb-imshow/cv_imshow.py 
(gdb) cv_imshow img_color 

Я получаю следующее сообщение об ошибке:

CV_8U with 3 channels, 512 rows and 512 cols 
Python Exception <class 'typeerror'=""> argument must be a sequence:  
Error occurred in Python command: argument must be a sequence 

Как исправить эту ошибку? Сделать этот скрипт совместимым с python 3?

Использование Ubuntu 14.04 LTS, GDB 7.7.1

ответ

1

Вы не первый, пытаясь использовать этот скрипт для питона 3. Вы проверили this?

+1

Пожалуйста, избегайте предоставления только ссылки и старайтесь хотя бы разместить дополнительную информацию о решении. Ссылка, которую я в какой-то момент исчезает, делает ваш ответ (?) Недействительным. Кроме того, формат вашего ответа является скорее комментарием. – rbaleksandar

+1

Блестящий. На всякий случай кто-то сталкивается с той же ошибкой с Tkinter: 'sudo apt-get install python3-tk' –