在centos上安装miniconda、创建python环境并安装运行opencv

1 基础环境

centos7.9镜像,自带python2,以及基本的开发工具

2 安装miniconda

参考:在CentOS上的安装miniconda

  1. 切换目录

cd /data
  1. 安装wget

yum install wget -y
  1. 下载miniconda

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
  1. 安装miniconda

sh Miniconda3-latest-Linux-x86_64.sh
按提示,Enter
Do you accept the license terms? [yes|no],输入yes接受
安装完成后会问:Do you wish the installer to initialize Miniconda3,输入yes接受
  1. source ~/.bashrc或用户登录后会自动进入(base)环境

source ~/.bashrc
  1. 禁止 用户登录后 自动激活base环境,可执行如下命令:

conda config --set auto_activate_base false

3 创建Python虚拟环境及miniconda使用

  1. 创建环境:conda create -n Python环境名称 [python=Python版本号]

创建一个python3.9的环境
conda create -n my_env python=3.9
  1. 进入环境:conda activate [环境名称](默认进入base

conda activate my_env
  1. 退出环境

conda deactivate
  1. 查看conda环境

conda info --envs 或者 conda env list
  1. 删除conda环境

conda env remove -n my_env
  1. 安装软件包

conda install numpy
或者 pip install numpy
  1. 查看安装的软件包

conda list
或者pip list
  1. 卸载软件包

conda uninstall numpy
或者pip uninstall numpy

4 conda更换为清华源

参考1: 最清晰的conda安装与切换源教程
参考2: anaconda | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
提示:后续安装opencv时出错,故可先不修改
  1. 首先生成~/.condarc配置文件

conda config --set show_channel_urls yes
  1. 编辑~/.condarc文件

vim ~/.condarc
文件内容:
channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
auto_activate_base: false   #修改默认不进入base环境
  1. 清除索引缓存

conda clean -i

5 安装OpenCV

  1. 进入conda环境

conda activate my_env
  1. 安装OpenCV

1)pip库安装,https://pypi.org/project/opencv-python/
pip install opencv-python (不推荐,Pip安装后还需要安装一系列依赖包)
2)conda-forge库安装,https://anaconda.org/conda-forge/opencv
conda install -c conda-forge opencv (推荐,conda会自动检测依赖包并安装)
  1. 报错解决

报错:在python中,import cv2时报错:
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
解决方案:参考: import cv2 ImportError: libGL.so.1: cannot open shared object file: No such file or directory
输入: yum whatprovides libGL,结果如下:
1:libglvnd-glx-1.0.1-0.8.git5baa1e5.el7.i686 : GLX support for libglvnd
Repo        : base
Matched from:
Provides    : libGL

1:libglvnd-glx-1.0.1-0.8.git5baa1e5.el7.x86_64 : GLX support for libglvnd
Repo        : base
Matched from:
Provides    : libGL
选择其中x86_64版本的,安装:yum install libglvnd-glx-1.0.1-0.8.git5baa1e5.el7.x86_64
进入python,import cv2,问题解决。

6 运行OpenCV

  1. 在本地windows环境下,调试完成一个opencv案例

import numpy as np
import cv2

# 查看openCV的版本
print("the version of opencv is "+cv2.__version__)

# 读取图片
img_s = cv2.imread('../imgs/cat.jpg')
print("The shape of image is " + str(img_s.shape))

# 将cv2读取的BGR模式,转换为RGB模式
img = cv2.cvtColor(img_s,cv2.COLOR_BGR2RGB)

# 图片翻转,沿着x轴和y轴
img4 = cv2.flip(img,-1)

'''
显示图片
'''
while True:
    cv2.imshow('Demo',img4)
    
    # 等待至少100ms,并且用户按了q按键
    if cv2.waitKey(10) & 0xFF == ord('q'):
        break
# 关闭所有窗口
cv2.destroyAllWindows()

# 图片保存,需要先将RGB转化为BGR
img5 = cv2.cvtColor(img4,cv2.COLOR_RGB2BGR)
cv2.imwrite("../imgs/img5.jpg",img5)
  1. 使用Xftp将该.py文件上传至centos服务器,并对代码进行改造,包括:

1)修改图片目录
2)删除imshow()相关代码,因为在centos上无图像环境,也不需要显示图片
import numpy as np
import cv2

# 查看openCV的版本
print("the version of opencv is "+cv2.__version__)

# 读取图片
img_s = cv2.imread('imgs/cat.jpg')
print("The shape of image is " + str(img_s.shape))

# 将cv2读取的BGR模式,转换为RGB模式
img = cv2.cvtColor(img_s,cv2.COLOR_BGR2RGB)

# 图片翻转,沿着x轴和y轴
img4 = cv2.flip(img,-1)

# 图片保存,需要先将RGB转化为BGR
img5 = cv2.cvtColor(img4,cv2.COLOR_RGB2BGR)
cv2.imwrite("imgs/img5.jpg",img5)
  1. 执行,服务器会打印:

  1. 通过Xftp下载处理后的图像到本地windows,打开查看效果

猜你喜欢

转载自blog.csdn.net/chenjie05/article/details/128959825