擅长:python、mysql、java
<p>迟交的答复。如果不必依赖于早期版本,并且希望在Python中使用OpenCV,请选择最新的稳定版本。今天它是opencv2.3.1。在</p>
<p><strong>OpenCV≥2.3对Python</strong>用户的主要好处是:除了旧的(向后兼容的)<code>cv</code>模块之外,还有一个新的<code>cv2</code>模块。新的<code>cv2</code>模块更像python,不需要为中间数据结构手动分配内存。老^ {< CD2> }模块更像是C++翻译的直接翻译。在</p>
<p>例如,比较新的Python<code>cv2.findContours</code>(OpenCV≥2.3):</p>
<pre><code>findContours(image, mode, method[, contours[, hierarchy[, offset]]]) -> contours, hierarchy
</code></pre>
<p>它只需要三个参数,并且可以自动处理所有内存分配,只返回最终结果。只有一行用户代码。在</p>
<p>与旧的<code>cv.FindContours</code>:</p>
^{pr2}$
<p>它要求用户在调用前显式地分配“存储空间”(+1或2行代码)。它不返回结果,而是将其保存在分配的存储中(它的工作方式类似于一个链表,用户必须编写一些循环才能真正从存储中提取数据)。总体而言,较低级别,更像C++ + Python。在通用用例中至少有4-5行代码,而不是只有一行带有新的<code>cv2</code>模块。在</p>