在加载“cv2”二进制扩展时检测到递归

Posted

技术标签:

【中文标题】在加载“cv2”二进制扩展时检测到递归【英文标题】:recursion is detected during loading of "cv2" binary extensions 【发布时间】:2021-12-19 15:12:03 【问题描述】:

我有一个小程序,在 pyinstaller 编译后返回 opencv 错误。 但是没有编译它的工作!

我在 Windows 10 上使用 Python 3.8.10

计划:

导入pyautogui 将 numpy 导入为 np 导入 cv2 试试: 从 PIL 导入图像 导入错误除外: 导入图片

screenshot = pyautogui.screenshot('screenshot.png', region=(970, 591, 184, 101)) # 开始 img = cv2.imread('screenshot.png') img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) img = cv2.bitwise_not(img)

错误:

['C:\Users\n1kro\AppData\Local\Temp\_MEI83642\base_library.zip', 'C:\Users\n1kro\AppData\Local\Temp\MEI83642\lib-dynload', ' C:\Users\n1kro\AppData\Local\Temp\MEI83642'] Traceback(最近一次调用最后一次): 文件“test.py”,第 3 行,在 文件“PyInstaller \loader\pyimod03_importers.py",第 476 行,在 exec_module 文件 "cv2_init.py",第 180 行,在 文件 "cv2_init.py”,第 75 行,在引导程序中 ImportError:错误:。检查 OpenCV 安装。 [3416] 由于未处理的异常,无法执行脚本“test”!

我尝试全部重新安装,但没有帮助!

找到这个帖子:https://github.com/opencv/opencv/issues/13202 但不明白,该怎么办:( 需要你的帮助,拜托!

【问题讨论】:

同样的问题 【参考方案1】:

我可以通过卸载 opencv 并安装旧版本来解决这个问题。 4.5.3 版运行良好。

【讨论】:

【参考方案2】:

打开 cmd 并使用 pip 安装不同的版本:

 pip install opencv-python==4.5.3.56

pyinstaller 之后没有问题

【讨论】:

以上是关于在加载“cv2”二进制扩展时检测到递归的主要内容,如果未能解决你的问题,请参考以下文章

如何从 cv2.findContours 结果中重新创建带有孔的原始图像?

错误 ITMS-90085:“二进制文件中没有架构。Lipo 未能检测到捆绑可执行文件中的任何架构。”

如何使用 cv2 保存二进制图像(dtype=bool)?

hihocoder 扩展二进制数

将二进制文件加载到未知结构类型

线性递归、二元递归与运行时的关系