2010-12-04 107 views
3

我正在嘗試在Python中使用OpenCV並轉換一些C++代碼。無論如何,如果我這樣做:使用Python + OpenCV的「import cv」和「import opencv.cv」的區別?

import cv 
img = cv.LoadImage('image.jpg') 

沒關係。或者:

import opencv.cv as opcv 
size = opcv.cvSize(40, 50) 

但不管怎麼說,cv模塊不具有cvSize數據結構和opencv.cv沒有​​。那麼,每個模塊到底有什麼?我試着查看文檔,但找不到它。我應該這樣使用它還是我的設置配置錯誤?

回答

2

真正的答案是:)這兩個「進口opencv.cv」或「來自OpenCV的進口cv「是舊式的包裝進口。

由於OpenCV的2.0,新風格的Python包裝時,你應該使用的樣式看起來是這樣的:

# import only cv, no opencv 
# this also brings in sub modules such as highgui 
import cv 
# no "cv" prepended before all method names 
src_mat = cv.LoadImageM('yourfilename.png', cv.CV_LOAD_IMAGE_GRAYSCALE) 
# let's show the image in a window 
cv.NamedWindow('your name', 1) 
cv.ShowImage('your name', src_mat) 
cv.WaitKey 

老式的包裝材料利用痛飲的,該新型包裝材料,通過opencv 2.2源代碼判斷,似乎是自制的。

0

有了:

import cv 

你正從任何地方在Python模塊搜索目錄存在CV模塊。這可能是存儲在opencv軟件包安裝之外某個模塊的不同版本,因爲它看起來就是這種情況。

但隨着:

import opencv.cv 

你明確地導入OpenCV的包版本的簡歷,即一個在安裝目錄OpenCV的包。這個版本幾乎可以保證你從OpenCV的包之一,它似乎是與使用的語法:

from opencv import cv 
+0

我只通過Ubuntu存儲庫安裝了OpenCV。有沒有辦法確定他們到底在哪裏?另外,文檔說使用`import cv`代替:http://opencv.willowgarage.com/wiki/PythonInterface – otirra 2010-12-04 21:47:22

相關問題