from cv2 import cv2 报错

img

img


from cv2 import cv2报错,但是把前面的from cv2删除了就不报错,怎么即不删除from cv2又不报错的办法?
哪位知道怎么弄?

img

img


import cv2.cv2后面的.cv2报错,删除.cv2后又不会报错,怎么在不删除.cv2的情况下不报错?

参考GPT和自己的思路:这个错误可能是因为你的Python环境中同时存在OpenCV 2.x和3.x版本,因此cv2模块的导入存在歧义,无法确定导入哪个版本的cv2模块。如果您确认只需要使用OpenCV 3.x,可以尝试卸载OpenCV 2.x版本。

如果您需要同时使用两个版本,可以通过更改导入方式来解决问题。使用以下代码导入cv2模块:

import cv2 as cv


这将为cv2模块创建一个别名cv,可以在代码中使用cv代替cv2。例如:

import cv2 as cv

img = cv.imread("image.jpg")
cv.imshow("image", img)
cv.waitKey(0)
cv.destroyAllWindows()


如果你想使用cv2而不是cv作为模块名字,可以将其改为以下方式:


from cv2 import cv2 as cv

这应该会避免上述错误。

import cv2

安装问题可以远程解决

用的是哪个opencv 版本?

原因

可能2个问题导致的

  • 1、导入cv2的使用语法错误
    问题1的解决方法看下面
  • 2、 cv2安装版本冲突导致的问题

问题2解决方法如下:
卸载后重新安装

pip uninstall opencv-python
pip install opencv-python

解决方法

问题1

from cv2 import cv2

这个代表的是从第三方库 cv2里面调用了里面的cv2模块或者函数,问题是opencv-python(也就是cv2)里面是没有cv2这个重复命名的函数的

一般正确的使用方法就是直接

import cv2

代表导入了cv2这个第三方库,
下面使用cv2的时候直接

import cv2
print(cv2.__version__)

或者

import cv2 as cv
print(cv.__version__)

或许你想使用的是

import cv2 as cv2

如有问题及时沟通

以下答案由GPT-3.5大模型与博主波罗歌共同编写:
在导入 cv2 库时,应该使用 import cv2 的方式,而不是 from cv2 import cv2。如果导入方式不正确可能会产生代码中的错误,例如 .cv2 报错等等。

正确的导入方式是:

import cv2

然后使用 cv2 中的函数或模块,例如:

img = cv2.imread('image.png')
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

如果仍然存在问题,请提供完整的错误信息,以便我们更好地帮助您解决问题。
如果我的回答解决了您的问题,请采纳!

别名和自己一样…怎么个意思

import cv2 

即可
代码里面有 from cv2 import cv2 的
多少可能是多了个文件夹,或者没有用从pip安装的源路径来的包(可能有二次开发OpenCV的源码,放在了cv2文件夹下)

“Devil组”引证GPT后的撰写:
尝试使用以下两种方法解决这个问题:

  • 1.使用正确的OpenCV版本:检查您正在使用的OpenCV版本是否与代码示例或教程中使用的版本相同。如果不同,请尝试使用相应版本的OpenCV。

2.使用不带“.cv2”的导入语句:在导入OpenCV时,尝试使用以下语句:

import cv2

然后在代码中使用“cv2”作为OpenCV的命名空间,例如:

image = cv2.imread("image.jpg")

这应该可以解决问题,因为大多数情况下,您不需要在代码中使用“.cv2”作为OpenCV的命名空间。