Подобный мой вопрос существует, однако он не отвечает на мой вопрос.

Вот с чем я работаю:

Python v. 3.6.2
opencv 1.0.1
PyCharm Community Edition 2017 .2.2
macOS Sierra версия 10.12.6

Я пытаюсь использовать imread для обработки изображений. Я посмотрел документацию и правильно использую функцию. Вот тестовый код, который поставляется с библиотекой opencv:

import opencv
img = cv.imread('background.png')
if img is None:
    print("Image not loaded!")
else:
    print("Image is loaded!")

Я вижу мои файлы и модули Python в проводнике проекта. Когда я запускаю код, я получаю следующую ошибку:

/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 / Users / lmc / Desktop / pywerk / opencvpractice Traceback (последний вызов был последним): Файл "/ Users / lmc / Desktop / pywerk / opencvpractice", строка 4, в img = cv.imread ('background.png') AttributeError: модуль 'opencv' не имеет атрибута 'imread'

Я перепробовал все, от переустановки python и модуля opencv до переключения версий python на 2.7 (и с использованием соответствующего модуля opencv), и я получаю ту же ошибку.

Есть какая-то конфигурация системы, которую я мог бы пропустить? Любая помощь приветствуется.

1
lane 29 Авг 2017 в 03:38

3 ответа

Лучший ответ

Оказывается, это была комбинация нескольких из этих предложений; если бы я мог дать ответ реквизит Александру Рейнольдсу, это было бы наиболее точным. Я следовал устаревшему учебнику и получил устаревшую версию opencv. Я скачал opencv, используя инструкции здесь, для тех, кто ищет точные команды:

https://pypi.python.org/pypi/opencv-python/3.1.0.3

Вот что я закончил:

import cv2

img = cv2.imread('background.png')
if img is None:
    print("Image not loaded!")
else:
    print("Image is loaded!")

Спасибо за помощь!

1
lane 29 Авг 2017 в 23:01

Может, тебе стоит попробовать с opencv.imread?

import opencv
img = opencv.imread('background.png')
if img is None:
    print("Image not loaded!")
else:
    print("Image is loaded!")

Или альтернативно import opencv as cv:

import opencv as cv
img = cv.imread('background.png')
if img is None:
    print("Image not loaded!")
else:
    print("Image is loaded!")
1
Reblochon Masque 29 Авг 2017 в 00:41

Для OpenCV его следует импортировать как

import cv

Или же import cv2 (если вы хотите перейти на opencv V2.x или 3.x)

1
Totoro 29 Авг 2017 в 07:04