OpenCV Python 3.3

OpenCV Python 3.3,python,opencv,Python,Opencv,我的计算机上安装了Python 3.3和2.7 对于Python3.3,我安装了许多库,如numpy、scipy等 因为我还想使用opencv,它目前只支持python 2.7,所以我在python 2.7下安装了opencv 嘿,问题来了,如果我想在同一个脚本中导入numpy和cv呢?您必须安装所有要与OpenCV for Python 2.7一起使用的库。这不是什么大问题,您可以在一行中使用pip,或者从许多预构建的scientific Python包中选择一个。嘿,问题来了,如果我想在同一

我的计算机上安装了Python 3.3和2.7

对于Python3.3,我安装了许多库,如numpy、scipy等

因为我还想使用opencv,它目前只支持python 2.7,所以我在python 2.7下安装了opencv


嘿,问题来了,如果我想在同一个脚本中导入numpy和cv呢?

您必须安装所有要与OpenCV for Python 2.7一起使用的库。这不是什么大问题,您可以在一行中使用pip,或者从许多预构建的scientific Python包中选择一个。

嘿,问题来了,如果我想在同一个脚本中导入numpy和cv呢

就Python2.7而言,numpy和cv可以在同一个脚本中导入。事实上,opencv接受numpy数组。请参阅下面的代码

import os
import numpy as np
import cv2


def processImage(dirName, imgName):
    imgFilepath = os.path.join(dirName, imgName)
    img = cv2.imread(imgFilepath)
    print imgName, img.size
    #convert img to a numpy array
    numpyImg = np.asarray(img)
    #use as inout to cv2 call
    #this converts a color imageto a grayscale image
    grayscaleImg = cv2.cvtColor(numpyImg, cv2.COLOR_BGR2GRAY)
    (fname, ext) = os.path.splitext(imgName)
    outImgName = fname + '_gray' + ext
    #write grayscalimage
    cv2.imwrite(os.path.join(dirName, outImgName), grayscaleImg)
    pass

def main():
    #aphid1_small.jpg is a rgb image
    imgName = "aphid1_small.jpg"
    dirName = "data"
    processImage(dirName, imgName)

if __name__ == "__main__":
    main()
    pass

当你尝试时发生了什么?你试过了,是吗?