к сожалению, я не нашел решения этой проблемы.
from imgutils import imshow
import cv2
img3 = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
plt.figure(figsize=(20,10))
plt.subplot(1,2,1); imshow(img)
plt.subplot(1,2,2); imshow(img3)
Я получаю следующую трассировку:
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-31-8006396b3a04> in <module>
----> 1 from imgutils import imshow
2
3 img3 = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
4
5 plt.figure(figsize=(20,10))
ImportError: cannot import name 'imshow'
Я работаю над Mac OS X 10.11, с окружением anaconda, python 3.5.
Я ищу в Интернете модуль imgutils и не имею модуля, у которого есть функция imshow.
Какие-либо предложения?
Обновить
from cv2 import imshow
img3 = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
plt.figure(figsize=(20,10))
plt.subplot(1,2,1); imshow(img)
plt.subplot(1,2,2); imshow(img3)
Проследить
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-13-d01b4c235975> in <module>
5 plt.figure(figsize=(20,10))
6
----> 7 plt.subplot(1,2,1); imshow(img)
8 plt.subplot(1,2,2); imshow(img3)
TypeError: Required argument 'mat' (pos 2) not found
imgutils
, похоже, не содержит атрибут imshow
(и, следовательно, определенно не является функцией). Он не содержит подмодуля imshow
и не импортирует функцию imshow
в файл __init__.py
: он в основном рефинирует элементы из таких подмодулей, но быстрый поиск не дает функции imshow
.
Вероятно, вы использовали imshow
из модуля matplotlib.pyplot
, поэтому вы должны заменить:
from imgutils import imshow
с:
from matplotlib.pyplot import imshow
Затем он импортирует cv2.imshow
[pyplot-doc].
cv2.imshow(img)
видуcv2.imshow(img)
вместоimgutil.imshow
?from cv2 import imshow
.