Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从windows上的Python项目venv访问OpenCV源代码编译包?_Python_Tensorflow_Opencv - Fatal编程技术网

如何从windows上的Python项目venv访问OpenCV源代码编译包?

如何从windows上的Python项目venv访问OpenCV源代码编译包?,python,tensorflow,opencv,Python,Tensorflow,Opencv,因此,我一直在编写一个利用OpenCV for Windows的Python程序。这只是一个学习如何使用基于视觉的机器学习的项目。我已经让这个项目与我的CPU一起工作,虽然它“运行”起来非常慢,所以我想尝试与GPU版本一起工作。不幸的是,没有一个python包具有OpenCV和支持Cuda的GPU功能(据我所知) 所以在研究之后,我发现为了做我想做的事情,我必须用Cmake编译OpenCV源代码。因此,我开始这样做的帮助下,似乎工作(至少它编译)。但现在我遇到了以下问题: 我实际上不知道如何将这

因此,我一直在编写一个利用OpenCV for Windows的Python程序。这只是一个学习如何使用基于视觉的机器学习的项目。我已经让这个项目与我的CPU一起工作,虽然它“运行”起来非常慢,所以我想尝试与GPU版本一起工作。不幸的是,没有一个python包具有OpenCV和支持Cuda的GPU功能(据我所知)

所以在研究之后,我发现为了做我想做的事情,我必须用Cmake编译OpenCV源代码。因此,我开始这样做的帮助下,似乎工作(至少它编译)。但现在我遇到了以下问题:

我实际上不知道如何将这个新构建的包导入到我的项目的venv中。我尝试过将cv2.cp37-win_amd64.pyd移动到项目的venv站点包中,我尝试过将整个构建文件夹移动到项目中并直接导入它,但都没有实际效果。。。所以我有点不知所措,不知该怎么做才能让OpenCV和支持GPU的CUDA在我的项目中工作

编辑:

我遵循了Miki链接的指南,包括安装Anaconda和所有爵士乐。当我使用以下命令时,程序包将正确导入:

按照@Miki的建议,我阅读了他们链接的指南,遵循所有流程,测试OpenCV实际上是通过以下方式正确构建的:

 set path=%openCvBuild%\install\x64\vc16\bin;%path%
 python -c "import cv2; print(f'OpenCV: {cv2.__version__} for python installed and working')"

但是它仍然没有显示在conda中的python导入中,尽管它位于env的site packages文件夹中。

请特别注意:“注意:您需要查找并记录您的cv2.so文件在系统中的位置!每当我们创建虚拟环境时(我们将做大量工作来探索各种深度学习库),您将希望将cv2.so文件sym链接到Python虚拟环境的site packages目录中,这样您就可以访问OpenCV。“@Miki hmmm我在构建文件夹中似乎没有cv2.so文件。。。也许它在系统的其他地方?我会继续找的。感谢您提供的提示。您应该在site packages目录(可能是您默认的python安装)中查找类似于cv2.cp37-win_amd64.pyd的内容,该目录编辑了我的文章,以包含带有格式化代码的注释