it-swarm.com.ru

OpenCV не работает должным образом с python в Linux с anaconda. Получение ошибки, что cv2.imshow () не реализован

Это именно та ошибка, которую я получаю. Моя ОС - Ubuntu 16.10.

Ошибка OpenCV: ошибка не указана (Функция не реализована. Перестройте библиотеку с поддержкой Windows, GTK + 2.x или Carbon. Если вы работаете в Ubuntu или Debian, установите libgtk2.0-dev и pkg-config, а затем повторно запустите cmake или настройте скрипт) в файле cvShowImage, файл /feedstock_root/build_artefacts/work/opencv-3.1.0/modules/highgui/src/window.cpp, строка 545 Traceback (последний вызов был последним): Файл "untitled.py", строка 7, в cv2.imshow ('image', img) cv2.error: /feedstock_root/build_artefacts/work/opencv-3.1.0/modules/highgui/src/window.cpp:545: ошибка: (-2) Функция не реализовано. Перестройте библиотеку с поддержкой Windows, GTK + 2.x или Carbon. Если вы работаете в Ubuntu или Debian, установите libgtk2.0-dev и pkg-config, затем повторно запустите cmake или настройте скрипт в функции cvShowImage

мой код:

import numpy as np
import cv2

# Load an color image in grayscale
img = cv2.imread('0002.png',0)

cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

0002.png - это изображение в том же каталоге, что и программа . Сначала я установил anaconda с python 3.5, затем установил opencv с помощью команды 

conda install -c conda-forge opencv

Я установил libgtk2.0-dev, как и об ошибке, но я все еще получаю ту же ошибку .... Любая помощь будет принята с благодарностью. Я пытался решить это в течение нескольких часов.

24
Job Martinez

1. Самый простой способ:

conda remove opencv
conda update conda
conda install --channel menpo opencv

или (для OpenCV 3.1):

conda install -c menpo opencv3

2. А если вы не хотите этого делать, вы можете попробовать использовать matplotlib .

import cv2
import matplotlib.pyplot as plt

img = cv2.imread('img.jpg',0)

plt.imshow(img, cmap='gray')
plt.show()

3. Или попробуйте собрать библиотеку самостоятельно с опцией WITH_GTK=ON, или что-то в этом роде.

36
Alex Glinsky

Мне приходилось сталкиваться с этой проблемой пару раз, вот что до сих пор работало последовательно:

conda remove opencv
conda install -c menpo opencv
pip install --upgrade pip
pip install opencv-contrib-python
12
Lawrence Amadi

Если вы установили OpenCV с помощью pip-пакета opencv-python в любой момент времени, учтите следующее примечание, взятое с https://pypi.python.org/pypi/opencv-python

ВАЖНАЯ ЗАМЕТКА Диски MacOS и Linux в настоящее время имеют некоторые ограничения:

  • функция, связанная с видео, не поддерживается (не скомпилировано с FFmpeg)
  • например, cv2.imshow() не будет работать (не скомпилировано с поддержкой GTK + 2.x или Carbon)

Также обратите внимание, что для установки из другого источника сначала необходимо удалить пакет opencv-python

8
Nic Szer

Обратите внимание, что он жалуется на libgtk2.0-dev и pkg-config. Вот решение. Удалите существующую установку openCV. 

конда удалить opencv3 

Установите эти пакеты перед установкой opencv - Conda install gtk2 pkg-config

Теперь установите opencv из menpo Conda install -c https://conda.anaconda.org/menpo opencv3

3
user3177227

Для меня (Arch Linux, Anaconda с Python 3.6) установка из предложенных каналов menpo или loopbio ничего не изменила. Мое решение (см. связанный вопрос ) было

  1. установить pkg-config (Sudo pacman -Syu pkg-config),
  2. удалить opencv из среды (conda remove opencv) и
  3. переустановите opencv из канала conda-forge (conda install -c conda-forge opencv)

conda list теперь возвращает opencv 3.3.0 py36_blas_openblas_203 [blas_openblas] conda-forge и все окна, запущенные с использованием cv2, работают нормально.

3
F1iX

Я следовал этому руководству ( OpenCV GTK + 2.x error ) и сделал следующее. Это сработало для меня:

  1. установить пакеты: libgtk2.0-dev и pkg-config
  2. перейдите в ваш каталог opencv 
  3. mkdir Release
  4. cD Release
  5. Запустите команду: cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_GTK=ON -D WITH_OPENGL=ON ..
  6. make
  7. Судо сделать установку
2
Nitin

Я использовал pip для установки opencv-python. ( https://pypi.org/project/opencv-python/ )

1) Удалить пакет opencv из conda:

>> conda remove opencv

2) Добавьте в свой файл env.yml:

...
dependencies:
  - numpy
  - pytest
  ...
  - pip:
    - opencv-python
1
Jodo

Удалить opencv из анаконды =

конда удалить OpenCV

Затем переустановите opencv с помощью pip:

pip install opencv

Это работает для меня.

0
vlbthambawita