2014-04-04 70 views
1

我正在第一次使用OpenCV,並且對數據類型有點困惑。 我正在使用Python。OpenCV中的數據類型

我發現我可以存儲的圖像爲:

  • numpy的陣列
  • 與CvMat
  • 的IplImage

時遇到的問題是,OpenCV中的不同部分似乎要求不同的類型,我不斷地嘗試和來回轉換,這是非常混亂,我敢肯定,它不能有目的地這樣設計。我也有點困惑什麼時候應該在cv模塊vs cv2.cv中:

import cv 
import cv2.cv 

有人可以解釋邏輯嗎?這真的會有所幫助。

謝謝!

+0

我不知道Python API,但至少你可能想只使用'cv2.cv'。 'cv'是您應該嘗試遠離的較舊界面。 Iplimage也是此舊圖像的一部分,因此您要避免使用該格式。 – Danny

回答

2
  • CV(或,cv2.cv)

    OpenCV的Python API中,使用的IplImage和與CvMat。

    你不應該再使用它了。它正在被淘汰,並且在下一個版本中不會提供。

  • CV2是 Python API中,使用numpy的陣列幾乎所有的東西代替,

    那麼容易與SciPy的,matplotlib,什麼不可以結合。 (和順便說一句,目前的c + + api更接近)

+0

這是非常好的知道。我注意到雖然在cv2下有很多東西不可用 - 例如cv2.logPolar? – cjm2671

+0

下面是另一個:cv2.cv.CV_RGB(0,255,0) – cjm2671

+0

@ cjm2671, - 你不需要它。我只是一個cv2/numpy的元組, - (0,255,0) – berak