2013-07-31 3 views
0

У меня есть Python 3.3 и 2.7 установлены на моем компьютереOpenCV Python 3.3

Для Python 3.3, я установил много библиотек, как NumPy, SciPy и т.д.

Поскольку я также хочу использовать OpenCV, который поддерживает только питона 2.7 до сих пор я установил opencv под Python 2.7.

Эй, здесь возникает проблема, что делать, если я хочу импортировать numpy, а также cv в том же скрипте?

+0

Что случилось, когда вы попробовали? Вы пробовали? –

ответ

1

Вам потребуется установить все библиотеки, которые вы хотите использовать вместе с OpenCV для Python 2.7. Это не большая проблема, вы можете сделать это с помощью pip в одной строке или выбрать один из многих готовых научных пакетов Python.

+0

Является ли поддержка для python 3.3 уже выполненной? Не нашел ничего об этом ... – tim

0

«Эй, вот и проблема: что, если я хочу импортировать numpy, а также cv в том же скрипте?»

Что касается python 2.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