Jus*_*ase 9 python intellisense opencv code-completion
我正在使用Ubuntu 14.04.我使用Adrian Rosebrock的指南安装了OpenCV.我也在使用PyCharm来编写python和opencv.
我的问题是我可以使用cv2模块的代码完成,但代码完成不适用于从cv2启动的实例.一个例子如下所示.
按预期编写程序时没有运行时错误.这样cap.isOpened()可以正常工作而不会出错.
kim*_*eon 13
虽然我是Windows用户,但我也遇到过和你类似的问题。就我而言,我可以通过以下方式导入来解决这个问题:
from cv2 import cv2
Run Code Online (Sandbox Code Playgroud)
由于我缺乏对 python 导入模块如何工作的了解,我无法清楚地向你解释为什么这可以解决问题,但无论如何它都是有效的。
祝你好运。
openCV python模块是底层c ++库的动态生成包装器.PyCharm依赖于python源代码的可用性来提供自动完成功能.当缺少源代码时(如在opencv情况下),pycharm将生成具有函数原型的框架文件,并依赖于自动完成但具有能力下降的框架文件.
因此,当您自动完成时
cv2.
Run Code Online (Sandbox Code Playgroud)
它可以判断模块cv2具有以下成员并提供建议.
另一方面当你
cap = cv2.VideoCapture(file_name)
Run Code Online (Sandbox Code Playgroud)
PyCharm可以搞清楚你刚刚从cv2模块调用了一个方法并将其分配给了cap但是没有关于这个方法的结果类型的信息,并且不知道去哪里寻找建议
cap.
Run Code Online (Sandbox Code Playgroud)
如果你在shell模式下尝试相同的东西,你会看到你实际期望看到的行为,因为在shell模式下实际上会内省活动对象(它将询问创建的cap对象它拥有哪些成员并提供这些作为建议)
您也可以自己编写opencv模块的存根,以便在编辑模式下启用正确的自动完成功能.
看看这里
| 归档时间: |
|
| 查看次数: |
1468 次 |
| 最近记录: |