OpenCV中的数据类型
我第一次使用OpenCV,感觉对数据类型有点困惑。我是在用Python。
我发现可以把图像存储为:
- Numpy数组
- CvMat
- Iplimage
我遇到的问题是,OpenCV的不同部分似乎需要不同的数据类型,我总是需要来回转换,这让我很困惑。我相信这不应该是故意设计成这样的。我还有点搞不清楚什么时候应该用cv模块,什么时候又该用cv2.cv:
import cv
import cv2.cv
有人能解释一下这个逻辑吗?这对我会很有帮助。
谢谢!
1 个回答
3
cv(或者说cv2.cv)
这是旧版的OpenCV Python接口,使用的是IplImage和CvMat这两种数据结构。
你不应该再使用这个了,因为它正在被淘汰,下一版本里将不再提供。
cv2是新版的Python接口,几乎所有东西都使用numpy数组。
这样就很容易和scipy、matplotlib等其他库结合使用。(顺便说一下,它和现在的C++接口也更接近了)