windows安装opencv-python(opencv-python源码安装)

news/2024/12/22 18:37:42/

因为我要开启opencv的GStreamer功能,这是和ffmpeg相类似的对视频流操作的一个功能,默认没有开启,需要手动编译。

安装方式链接: opencv-install-with-GStreamer

核心内容如下:

git clone --recursive https://github.com/skvark/opencv-python.git
cd opencv-python# 这里针对linux,windows的cmd或则powershell去设置,开启GSTREAMER开关
## linux
export CMAKE_ARGS="-DWITH_GSTREAMER=ON"
## powershell
$env:CMAKE_ARGS = '-DWITH_GSTREAMER=ON' 
## cmd
set CMAKE_ARGS=-DWITH_GSTREAMER=ON# Upgrade pip and wheel
pip install --upgrade pip wheel# Use wheel package target file
pip wheel . --verbose# note, wheel may be generated in dist/ directory, so may have to cd first
pip install opencv_python*.whl

安装的过程中一直出现各种问题,导致失败,经过不懈折腾,最后还是成功了,这里总结了出错的点。。。

Q1: 在安装numpy的时候最易出错

要符合下图中的要求.
在这里插入图片描述

Q2: 可能安装ffmpeg或者ippicv失败

这里最容易遇到的问题是,https://raw.githubusercontent.com 无法访问。导致ssl网络错误。

需要找到下面俩目录下的 cmake 文件去修改。
在这里插入图片描述
在这里插入图片描述
修改如上图,ippicv目录下的cmake也同样修改。

Q3: whl包名不符合PEP规范

WARNING: Built wheel for opencv-python is invalid: Metadata 1.2 mandates PEP 440 version, but ‘4.7.0.6b73d90’ is not

错误截图:
在这里插入图片描述
这里经过我的排查发现:
错误出现在这里:
在这里插入图片描述
git rev-parse --short HEAD 会获取当前代码库HEAD指针所在的短SHA-1值。

也就是git log可以看到:
在这里插入图片描述
可以看到 ‘4.7.0.6b73d90’ 就是在当前版本后面多了一个hash值字符串,所以为了避免这种情况,需要手动改动下图中部分,将尾部的hash字符串给接去掉。
在这里插入图片描述
然后再重新执行 pip wheel . --verbose 就好了。最终会打包成功。

其他平台安装参考资料

opencv-tutorials-resources-guides


http://www.ppmy.cn/news/44961.html

相关文章

当数字银行“恋上”AIGC

Bank一词源于意大利语Banca,翻译为“板凳”。早期的银行家们在长凳上交易,因此也被称为“坐长板凳的人”。 几百年来,银行的核心业务都围绕柜台展开,犹如那条长凳,代表着银行的过去和未来。直到进入互联网时代&#xf…

甘特图控件DHTMLX Gantt入门使用教程【引入】:dhtmlxGantt与ASP.NET Core(上)

DHTMLX Gantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的大部分开发需求,具备完善的甘特图图表库,功能强大,价格便宜,提供丰富而灵活的JavaScript API接口,与各种服务器端技术&am…

数字营销(三)如何确定合适的流量渠道?

一、为什么要确定付费客户特征? 首先营销策略是什么?营销策略,即战略,就是为实现主要流量侧的长期目标,所采取的具体打法和步骤。 比如一个网站的成功离不开获取网站流量和用户信任的建立。除了谷歌 SEO 获取流量&am…

UML与代码的对应关系

五种关系的耦合强弱比较&#xff1a;依赖<关联<聚合<组合<继承 依赖 虚线箭头 可描述为&#xff1a;Uses a 依赖是类的五种关系中耦合最小的一种关系。 因为在生成代码的时候&#xff0c;这两个关系类都不会增加属性。 注意1&#xff1a; Water类的生命期&…

C++ 23 实用工具(一)

C 23 实用工具&#xff08;一&#xff09; 工具函数是非常有价值的工具。它们不仅可以用于特定的领域&#xff0c;还可以应用于任意值和函数&#xff0c;甚至可以创建新的函数并将它们绑定到变量上。 常用函数 你可以使用各种变体的 min、max 和 minmax 函数来对值和初始化列…

测试注意事项

一、禅道编写测试用例注意事项 1、基于一个测试用例只测试一个功能点&#xff0c;可以在分组中标记测试点&#xff0c;在下方的每一条中进行具体的测试步骤描述 2、测试用例要具有通用性&#xff0c;不能侧重于第一次进入&#xff0c;更侧重功能 3、编写后&#xff0c;阅读时…

【Mysql】日志

【Mysql】日志 文章目录【Mysql】日志1. 错误日志2. 二进制日志2.1 格式2.2 查看2.3 删除3. 查询日志4. 慢查询日志1. 错误日志 错误日志是 MySQL 中最重要的日志之一&#xff0c;它记录了当 mysqld 启动和停止时&#xff0c;以及服务器在运行过 程中发生任何严重错误时的相关…

笔记:C++

一、C以及C基本函数 1、面向对象&#xff1a;将能够实现某一事物的万事万物都封装在一起&#xff0c;称之为类&#xff0c;在类中提供公共的接口&#xff0c;用户可以通过公共的接口对类中的相关属性进行控制。 2、C兼容C&#xff0c;但是C的编译器比C语言的编译器更加严格。…