参考:
解决python找不到PCV的问题
https://blog.csdn.net/weixin_42606065/article/details/88190283
安装
下载安装包
地址: https://github.com/jesolem/PCV
git clone到任意目录,或者直接下载zip文件.
解压得到文件夹:
PCV-master
其中的文件如下:
其中,PCV中有需要改的文件.
试安装
解压后cmd进入setup.py所在的目录运行安装指令:
请确认已有的python的安装目录,并执行对应的指令,否则安装完仍然检测不到.:
如果python安装在系统目录下(/usr/local/lib/), 请执行:
sudo python setup.py install #
如果python安装在用户目录下(/home/xxx/.local/lib/), 请执行:
python setup.py install --user
此时会报一些print错误.
这是由于python版本的差异造成的问题。
python2版本中是:print “hello python!”
但是在python3中需要加括号, 应该使用:print (“hello python!”)
修改文件
报错信息包含的文件都在PCV子文件夹中,都需要修改,具体如下:
./PCV/tools/ncut.py
./PCV/tools/imtools.py
./PCV/tools/ransac.py
./PCV/imagesearch/imagesearch.py
./PCV/classifiers/bayes.py
./PCV/geometry/warp.py
./PCV/localdescriptors/dsift.py
./PCV/localdescriptors/sift.py
每个文件打开,搜索print,将紧接的打印内容用()括起来.
ransac.py中有4条print,其他文件里都是1条print,因此很快就改完了.
再安装
再次运行:
sudo python setup.py install
正常,没有报错.
验证
执行:
python
import PCV
导入正常.效果如下:
使用
常用语句:
from PCV.tools import imtools
在学人民邮电版《计算机视觉》这本书,做局部图像描述子和图像到图像映射的过程中,教材上的例子运行出错误来:ModuleNotFoundError: No module named ‘matplotlib.delaunay’,修改了好久,现在终于知道是怎么改了。具体操作步骤如下:
第一步:
把
import matplotlib.delaunay as md
- 1
改成
from scipy.spatial import Delaunay
- 1
第二步:如图,进入到PCV\geometry\warp.py,把triangulate_points(x,y)里面的代码替换成
tri = Delaunay(np.c_[x,y]).simplices
- 1
然后再运行,就没有问题啦。
常见问题
The PCV module is not installed
1)如果已经安装过,请确认系统是否安装了多个python版本,是否正在使用的python版本上安装了PCV
2)如果没有安装过,请安装
3)PCV安装后,请关闭工程后重新打开,才能正常识别PCV
ImportError: cannot import name 'camera'
截至本文成稿时(2019.8.6), 从github上面下载下来的代码中,'camera'放在了PCV/geometry目录下.
所以请将语句:
from PCV import camera
改为:
from PCV.geometry import camera