Я пытаюсь научиться использовать OpenCV и следую основным учебным пособиям. Тестируя простой cv2.filter2D, у меня возникла проблема ... если размер ядра превышает определенное число, программа не выдаст никакого вывода.
Итак, я пишу что-то вроде:
img = cv2.imread('images/img.jpg')
kernel = np.ones((n,n),np.float32)/n**2
smoothed = cv2.filter2D(img,-1,kernel)
cv2.imshow('orig', img)
cv2.imshow('smoothed', smoothed)
cv2.waitKey(0)
cv2.destroyAllWindows()
и проблема в том, что при n> 11 сглаженное изображение не создается (я пытался сохранить его или показать, но не получил результатов). Пробовал с разными изображениями разных размеров, но всегда с одинаковым результатом. Что я здесь не так делаю? Спасибо!
РЕДАКТИРОВАТЬ: Хорошо, короткое обновление.
Скрипт работает нормально и выдает размытое изображение, когда я запускаю его из терминала (я использую Ubuntu 18.04 с OpenCv 4.1. 0). Проблема заключается в том, что когда я пытаюсь выполнить его в Pycharm, в этом случае выдается ошибка «Процесс завершен с кодом завершения 139 (прерван сигналом 11: SIGSEGV)», что должно указывать на какую-то проблему ... сегментации, какнасколько я понимаю? Извините за начальную неопределенность, я немного спешил и не заметил сообщения Pycharm!
РЕДАКТИРОВАТЬ: Новое обновление.
Как бы безумно это ни звучало, я пыталсязапустить скрипт как из терминала, так и из Pycharm, и теперь он не работает ни с одним из них! Честно говоря, я понятия не имею, как это возможно, насколько я помню, я ничего не изменил! В любом случае, если это все еще может быть полезно, при запуске из терминала sys.path будет:
['/home/lews/PycharmProjects/opencv/00_basics',
'/home/lews/PycharmProjects/tf_models/research',
'/home/lews/PycharmProjects/tf_models/research/slim',
'/home/lews/PycharmProjects/opencv/00_basics',
'/home/lews/anaconda3/envs/tf2/lib/python37.zip',
'/home/lews/anaconda3/envs/tf2/lib/python3.7',
'/home/lews/anaconda3/envs/tf2/lib/python3.7/lib-dynload',
'/home/lews/anaconda3/envs/tf2/lib/python3.7/site-packages']
, а из Pycharm:
['/home/lews/PycharmProjects/opencv/00_basics',
'/snap/pycharm-professional/159/helpers/pydev',
'/home/lews/PycharmProjects/opencv',
'/snap/pycharm-professional/159/helpers/pycharm_display',
'/snap/pycharm-professional/159/helpers/third_party/thriftpy',
'/snap/pycharm-professional/159/helpers/pydev',
'/home/lews/anaconda3/envs/tf2/lib/python37.zip',
'/home/lews/anaconda3/envs/tf2/lib/python3.7',
'/home/lews/anaconda3/envs/tf2/lib/python3.7/lib-dynload',
'/home/lews/anaconda3/envs/tf2/lib/python3.7/site-packages',
'/snap/pycharm-professional/159/helpers/pycharm_matplotlib_backend',
'/home/lews/anaconda3/envs/tf2/lib/python3.7/site-packages/IPython/extensions',
'/home/lews/PycharmProjects/opencv']
Опять же, ни один из них не работает, вв обоих случаях размытое изображение не получается. При запуске из терминала выдает ошибку:
Segmentation fault (core dumped)
, а с Pycharm, как я уже сказал, я получаю
Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)