<p>从另一个角度来看,允许您使用新的OpenCV安装版本运行旧的代码。。。</p>
<p>首先,从cv迁移到cv2与库使用许多函数的不同数据结构有关。判断函数是否在cv2和cv之间发生了变化的最简单方法是cv函数以大写字母开头。重新编写的cv2函数似乎总是有小写的第一个字母。因此,如果你使用的是一本旧书或旧的例子,你仍然可以使用传统的简历。cv现在只是嵌入到cv2中。只需在脚本顶部使用以下内容</p>
<pre><code> import cv2
import cv2.cv as cv #required for old code not to be changed
</code></pre>
<p>这允许您在不更改旧代码的情况下简单地运行旧代码。我将在这里演示您的函数调用。你有。。。</p>
<pre><code> cv.cvtColor('proba.jpg', 'CV_RGB2GRAY')
</code></pre>
<p>我注意到的第一件事是,您的函数可能被调用错误。(如果函数的第一个字母是小写,则应以cv2开头,而不是以cv开头)。其次是传递函数的“代码”代码'是cv2和cv的成员(这里的代码是noob,如果我的一些声音不准确,请原谅我),但并不总是相同的。你有“简历RGB2GRAY”。首先,不要引用。这是一个cv‘代码’而不是cv2。你也错过了前面的简历。为了演示我认为应该如何为旧的cv版本调用函数:</p>
<pre><code> cv.CvtColor('proba.jpg', cv.CV_RGB2GRAY) #Assuming you used listed imports
cv2.cv.CvtColor('proba.jpg', cv2.cv.CV_RGB2GRAY) #Assuming you skipped second import
</code></pre>
<p>现在cv2。。。</p>
<pre><code> cv2.cvtColor('proba.jpg', cv2.COLOR_RGB2GRAY)
</code></pre>
<p>好了,我希望这能有帮助。请记住,给定python运行脚本,您可以直接在命令行中键入任何不确定的内容。这对帮助我建立理解力是很有帮助的(我5天前第一次使用python)。例如,当您键入</p>
<pre><code> cv.CV_RGB2GRAY
</code></pre>
<p>直接进入python命令行,它会向您吐出“7”(方便,它是一个int)。cv2版吐出“7L”。请记住以某种形式时不时地使用WaitKey()函数,否则在某些情况下,highgui可能没有所需的时间来处理某些命令。那就结束了。抱歉,如果我涵盖了一些已经涵盖或提及的内容。如果我真的想删除它,管理员。</p>