OpenCV中的数据类型

3 投票
1 回答
2456 浏览
提问于 2025-04-18 01:21

我第一次使用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++接口也更接近了)

撰写回答