有
opencv (来自OpenCV人的图书馆), cv (来自OpenCV的老图书馆)和pyopencv与其前身ctypes-opencv.我应该使用哪些主要差异?
Abi*_*n K 134
正式地说,OpenCV发布了两种类型的Python接口,cv以及cv2.
简历:
我开始工作了cv.在此,所有OpenCV数据类型都保留.例如,加载时,图像的格式cvMat与C++相同.
对于数组操作,有几个功能,如cvSet2D,cvGet2D等.而一些讨论说,他们是慢.
对于imageROI,您需要特殊功能,如cvSetImageROI.
如果找到轮廓,cvSeq则返回结构,与Python列表或NumPy数组相比,这些结构不太适合使用.
(而且我认为,很快就会停止它的开发.早些时候,只有cv.后来,OpenCV带有两个cv和cv2.现在,在最新版本中,只有cv2模块,并且cv是内部的子类cv2.你需要调用import cv2.cv as cv访问它.)
CV2:
最新的是cv2.在此,一切都返回NumPy状物体ndarray 和native Python物体像lists,tuples,dictionary等,所以由于这个NumPy的支持,你可以在这里做任何numpy的操作.NumPy是一个高度稳定和快速的阵列处理库.
例如,如果加载图像,ndarray则返回a.
array[i,j] 给出(i,j)位置的像素值.
此外,对于imageROI,可以使用数组切片ROI=array[c1:c2,r1:r2].无需单独的功能.
要添加两个图像,不需要调用任何函数,只需这样做res = img1+img2.(但NumPy的加法是uint8数组的模运算,如图像.请参阅文章OpenCV和Numpy中的矩阵运算之间的差异了解更多.
返回的轮廓是Numpy数组的列表.您可以在轮廓中找到有关轮廓的详细讨论- 1:入门.
简而言之,使用cv2,一切都简化而且非常快.
关于NumPy如何加速的简单讨论cv2在Stack Overflow问题OpenCV-Python接口,cv和cv2的性能比较.
pyopencv:
因为我没有使用它,所以我对此知之甚少.但似乎已停止进一步发展.
我认为坚持官方图书馆会更好.
总之,我建议你使用cv2!
编辑:您可以在Windows for Pythoncv2中的Install OpenCV中看到该模块的安装过程.
| 归档时间: |
|
| 查看次数: |
48017 次 |
| 最近记录: |