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

因为我要开启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的时候最易出错

要符合下图中的要求.
windows安装opencv-python(opencv-python源码安装)_第1张图片

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

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

需要找到下面俩目录下的 cmake 文件去修改。
windows安装opencv-python(opencv-python源码安装)_第2张图片
windows安装opencv-python(opencv-python源码安装)_第3张图片
修改如上图,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

错误截图:
在这里插入图片描述
这里经过我的排查发现:
错误出现在这里:
windows安装opencv-python(opencv-python源码安装)_第4张图片
git rev-parse --short HEAD 会获取当前代码库HEAD指针所在的短SHA-1值。

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

你可能感兴趣的:(opencv,python,python,opencv)