gpt4 book ai didi

python - 我应该选择哪个版本的 python opencv?

转载 作者:太空狗 更新时间:2023-10-29 21:53:46 26 4
gpt4 key购买 nike

成功安装带有 python 绑定(bind)的 opencv 2.0 后,我开始遇到麻烦,在我继续之前,我想知道是否应该更改为另一个选项。作为 ezod 在此 post说:

“作为一个警告,从 2.0 版本开始,新的 Python 绑定(bind)是不完整的:许多我认为相当重要的功能缺失。同时,SWIG 绑定(bind)使用起来非常痛苦。ctypes-opencv 绑定(bind)(第 3 方项目),从版本 0.8.0 开始,不支持 OpenCV 2.0。”

那么,我应该继续使用 2.0 还是应该使用 ctypes?无论哪种方式,我都错过了什么?

我正在使用 OSX、python 2.5 并想在二维移动对象中进行跟踪,既不是 python 也不是机器视觉专家!

最佳答案

迟到的回答。如果您不必依赖早期版本,并希望将 OpenCV 与 Python 一起使用,请选择最新的稳定版本。今天是 OpenCV 2.3.1。

OpenCV ≥ 2.3 对 Python 用户的主要好处:除了旧的(向后兼容的)cv 模块之外还有一个新的 cv2 模块.新的 cv2 模块更加 pythonic,不需要为中间数据结构手动分配内存。旧的 cv 模块更像是 C++ API 的直接翻译。

例如比较新的Python cv2.findContours(OpenCV≥2.3):

findContours(image, mode, method[, contours[, hierarchy[, offset]]]) -> contours, hierarchy

它只需要三个参数,可以自动处理所有内存分配,只返回最终结果。只需一行用户代码。

比。旧的 cv.FindContours:

FindContours(image, storage [, mode [, method [, offset]]]) -> None

它要求用户在调用前显式分配“存储”(+ 1 或 2 行代码)。它不返回结果,而是将其保存在分配的存储中(它的工作方式类似于链表,用户必须编写一些循环才能真正从存储中提取数据)。总的来说,比 Python 更底层,更像 C++。在常见用例中至少有 4-5 行代码,而不是只有一行新的 cv2 模块。

关于python - 我应该选择哪个版本的 python opencv?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2225913/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com