所有这些OpenCV Python接口之间有何不同?

所有这些OpenCV Python接口之间有何不同?,第1张

所有这些OpenCV Python接口之间有何不同?

OpenCV正式发布了两种类型的Python接口,

cv
cv2

简历:

我开始工作

cv
。这样,所有OpenCV数据类型都将保留下来。例如,加载时,图像的格式
cvMat
与C ++中的相同。

对于数组 *** 作,有几个功能,如

cvSet2D
cvGet2D
等。而一些讨论说,他们是慢。

对于imageROI,您需要特殊的功能,例如

cvSetImageROI

如果找到轮廓

cvSeq
则返回的结构与Python列表或NumPy数组相比不太好用。

(而且我认为,很快它的开发将被停止。以前只有

cv
。后来,OpenCV
cv
和and都附带了
cv2
。现在,在最新版本中,只有
cv2
模块,并且
cv
里面是子类
cv2
。您需要调用
importcv2.cv as cv
访问它。)

cv2:

而最新的是

cv2
。在此,一切都返回
NumPy
状物体
ndarray
nativePython
物体像
lists
tuples
dictionary
等,所以由于这个NumPy的支持,你可以在这里做任何numpy的 *** 作。
NumPy
是一个高度稳定和快速的数组处理库。

例如,如果加载图像,

ndarray
则返回。

array[i,j]
为您提供(i,j)位置的像素值。

同样,对于imageROI,可以像一样使用数组切片

ROI=array[c1:c2,r1:r2]
。无需单独的功能。

要添加两个图像,无需调用任何函数,只需执行即可

res =img1+img2
。(但是NumPy加法是uint8数组(如图像)的模运算。有关更多信息,请参见《
OpenCV中的矩阵算术和Numpy之间
区别》

返回的轮廓是Numpy数组的列表。您可以在“
轮廓-1:入门”中 找到有关轮廓的详细讨论。

简而言之,使用cv2可以简化所有步骤,而且速度很快。

cv2
在堆栈溢出问题 OpenCV-
Python接口cv和cv2的性能比较中,

对NumPy如何加快速度进行了简单讨论。

pyopencv

我对此不太了解,因为我没有使用过它。但它似乎已停止进一步发展。

我认为坚持使用官方图书馆会更好。

简而言之,我建议您使用cv2!

编辑:您可以 在Windows for Python

cv2
中的
安装OpenCV中 看到模块的安装过程。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5143631.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存