计算机视觉实验中遇到的错误及解决方案

错误一: ModuleNotFoundError: No module named 'imtools’

解决办法: 找到imtools.py文件添加到项目的工程文件夹下即可。
即,添加`from PCV.tools import imtools

错误二: ImportError: cannot import name ‘imresize’ from ‘scipy.misc’ (F:\Anaconda\lib\site-packages\scipy\misc_init_.py)

原因: imresize功能将在1.2.0版本中,被skimage.transform.resize取代。This function is only available if Python Imaging Library (PIL) is installed.该功能只在安装了PIL情况下使用。

解决办法:换一种写法,通过numpy来实现,import语句如下所示(当然,仍然需要依赖Pillow库,可以用语句pip install pillow进行安装)。

from PIL import Image
import numpy as np

imresize使用示例(被注释的第一行是基于scipy库的写法,第二行是基于numpy的写法):

# im = imresize(im, (h, int(w * aspect_ratio)), interp='bicubic')
im = np.array(Image.fromarray(im).resize((h, int(w * aspect_ratio))))

错误三: TypeError: ‘dict_items’ object does not support indexing

错误代码: for pos,label in cuts.items()[:-2]:

错误原因: 在Python 2.X中, for pos,label in cuts.items()[:-2]: #don’t add source/sink 返回的是一个 list, 但是在Python 3.X中返回的是一个dict_keys object。

解决办法: for pos,label in list(cuts.items())[:-2]:

错误四: IndexError: too many indices for array

错误原因: 索引错误:数组的索引太多

错误五: NameError: name ‘array’ is not defined

解决办法: from numpy import * 添加这一行代码即可。

错误六: NameError: name ‘meshgrid’ is not defined

解决办法:from numpy import * 添加这行代码即可。

错误七: NameError: name ‘figure’ is not defined

解决办法: from pylab import * 添加这行代码即可。

错误八: TypeError: numpy boolean subtract, the - operator, is deprecated, use the bitwise_xor, the ^ operator, or the logical_xor function instead.

原因:“numpy Boolean中的‘—’已被弃用。

解决办法: 打开对应的文件夹,修改文件参数找到:

源代码:cscale = cmax - cmin
修改后的代码:cscale = cmax ^ cmin

错误九:NameError: name ‘subplot’ is not defined

解决办法:from pylab import * 添加该语句即可。

你可能感兴趣的:(笔记类)