ImportError: нет модуля с именем pyplot - Opencv

Я пытаюсь выполнить следующий код:

import cv2
import numpy as np
import matplotlib.pyplot as plt

img = cv2.imread('Paw01.png',0)
img = cv2.medianBlur(img,5)

ret,th1 = cv2.threshold(img,127,255,cv2.THRESH_BINARY)
th2 = cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_MEAN_C,\
                        cv2.THRESH_BINARY,11,2)
th3 = cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,\
                        cv2.THRESH_BINARY,11,2)
titles = ['Original Image', 'Global Thresholding (v = 127)',
      'Adaptive Mean Thresholding', 'Adaptive Gaussian Thresholding']
images = [img, th1, th2, th3]
for i in xrange(4):
    plt.subplot(2,2,i+1),plt.imshow(images[i],'gray')
    plt.title(titles[i])
    plt.xticks([]),plt.yticks([])
    plt.show()`

Но он возвращает ошибку:

Отслеживание (последний вызов последним): файл "/ home / lrcorre / Desktop / Paper SIBGRAPI / OpenCV_Programs / Thresholding.py", строка 3, в импорте matplotlib.pyplot как файл plt "/ home / lrcorre / Desktop / Paper SIBGRAPI / OpenCV_Programs / matplotlib.py ", строка 3, в import matplotlib.pyplot as plt ImportError: Нет модуля с именем pyplot

Я уже установил matplotlib, Opencv и python 2.7. Кто-нибудь знает, как я могу решить эту проблему и продолжить?


person Lucas    schedule 27.03.2016    source источник


Ответы (3)


matplotlib - это имя каталога библиотеки построения графиков Python. В этом каталоге есть такой файл pylot.py.

/dir1/dir2/.../site-packages/matplotlib/pyplot.py

В вашем случае у вас есть matplotlib.py, определенный где-то в вашем каталоге PYTHONPATH.

 /home/lrcorre/Desktop/PaperSIBGRAPI/OpenCV_Programs/matplotlib.py

Это запрещает импорт нужного файла pyplot.py. Так что измените имя файла на другое.

person Hun    schedule 27.03.2016
comment
Спасибо за ответ! Он работает сейчас! - person Lucas; 18.04.2016

Убедитесь, что вы используете версию Python 2.7:

import sys

print(sys.version)  # parentheses necessary in python 3. 
person Can Okan Taşkıran    schedule 05.05.2019

Убедитесь, что файл, в который вы импортируете модуль, не имеет имени matplotlib.py. Это решило проблему для меня.

person Rahul Dhankhar    schedule 13.08.2020