2014-04-04 42 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