skimage.io.imshow(winname, image_arr) 给出 TypeError: unhashable type: 'numpy.ndarray'

时间:2021-03-28 10:23:57

标签: python opencv visual-studio-code

代码如下:

#  https://github.com/anilkay/ComputerVisionExamples/blob/master/beatian.ipynb
import cv2
import matplotlib.pyplot as plt
import skimage.io as imageio
import numpy as np
import pandas as pd

import sys

we_photo=cv2.imread(r"data\photos\we_small.jpg")

if we_photo is None:
    sys.exit("Could not read the image.")

winname = "Photo to analize"
cv2.namedWindow(winname) 
imageio.imshow(winname, we_photo)

我从 here 中选择了此代码。我只为我的大照片添加了窗口。这段代码 给出输出:

Traceback (most recent call last):
  File "d:\OneDrive\=Книги=\MachineLearning\ML_code_PyTorch\recognition\dlib68_one_image.py", line 18, in <module>
    imageio.imshow(winname, we_photo)
  File "D:\Games\conda\envs\dlib\lib\site-packages\skimage\io\_io.py", line 158, in imshow
    arr = call_plugin('imread', arr, plugin=plugin)
  File "D:\Games\conda\envs\dlib\lib\site-packages\skimage\io\manage_plugins.py", line 200, in call_plugin
    _load(plugin)
  File "D:\Games\conda\envs\dlib\lib\site-packages\skimage\io\manage_plugins.py", line 287, in _load
    if plugin in find_available_plugins(loaded=True):
TypeError: unhashable type: 'numpy.ndarray'

不知道该考虑什么。代码在 Windows10/Anaconda 上以 VS Code 运行。
没有像 imageio.imshow(we_photo) 这样的窗口完成但不显示任何内容。

1 个答案:

答案 0 :(得分:1)

试试这个:

import cv2


we_photo=cv2.imread(r"data\photos\we_small.jpg")

if we_photo is None:
    sys.exit("Could not read the image.")

winname = "Photo to analize"
cv2.imshow(winname, we_photo)