最近,我在python中使用了opencv。
正如我注意到的,当我想在python中导入cv2模块时,我需要使用以下方法将cv2.so文件路径手动添加到系统路径中:
sys.path.append('/path/to/cv.so')但是,当我想在ipython笔记本中读取jpg文件时,它失败了:
import sys
import numpy as np
import os
sys.path.append("/usr/local/lib1/python2.7/site-packages")
import cv2
im1=cv2.imread('pic1.png')
print im1.shape
#output: (512, 512, 3)
im2=cv2.imread('pic1.jpg')
print im2.shape
#output:
-------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-8-2d36ac00eca0> in <module>()
----> 1 print im2.shape
AttributeError: 'NoneType' object has no attribute 'shape'基于我以前的问题,我重建了几次opencv。
我读过某处,它可能是一些依赖问题的结果。但是我的系统中有两个包(libjpeg和libjaspe):
print cv2.getBuildInformation()
Media I/O:
ZLib: /lib64/libz.so (ver 1.2.8)
JPEG: /lib64/libjpeg.so (ver 80)
WEBP: /lib64/libwebp.so (ver encoder: 0x0202)
PNG: /lib64/libpng.so (ver 1.6.17)
TIFF: /lib64/libtiff.so (ver 42 - 4.0.2)
JPEG 2000: /lib64/libjasper.so (ver 1.900.1)有什么想法吗?
发布于 2016-05-02 15:23:53
经过大量的努力,我意识到解决方案是添加:
PYTHONPATH=""
export PYTHONPATH
PATH=/usr/bin:/usr/local/bin
export PATH在/home/..bashrc文件的末尾(为了使它们永久化),在从终端运行python或ipython笔记本之前。
只使用opencv-python.x86_64 (基于您的机器架构)来自yum ()存储库(当然是用于fedora用户!)和python 2.7.
不从它的网站下载opencv。我想这会给依赖带来一些麻烦。
https://stackoverflow.com/questions/36870234
复制相似问题