您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Linux下怎么安装及使用OpenCV
## 一、OpenCV简介
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,由Intel于1999年首次发布。它包含了2500多种优化算法,涵盖:
- 图像处理
- 视频分析
- 特征检测
- 目标识别
- 机器学习
- 深度学习集成
目前广泛应用于:
✓ 安防监控
✓ 自动驾驶
✓ 医学影像
✓ AR/VR
✓ 工业检测
## 二、安装前准备
### 1. 系统要求
- 推荐Linux发行版:Ubuntu 20.04/22.04、CentOS 7+
- 内存:至少4GB(处理高清视频建议8GB+)
- 磁盘空间:10GB可用空间
### 2. 安装依赖项
```bash
# Ubuntu/Debian
sudo apt update
sudo apt install -y build-essential cmake git pkg-config
sudo apt install -y libjpeg-dev libtiff-dev libpng-dev
sudo apt install -y libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt install -y libxvidcore-dev libx264-dev
sudo apt install -y libgtk-3-dev libatlas-base-dev gfortran
sudo apt install -y python3-dev python3-pip
# CentOS/RHEL
sudo yum groupinstall "Development Tools"
sudo yum install cmake git pkgconfig
sudo yum install libjpeg-turbo-devel libpng-devel
sudo yum install ffmpeg-devel
# Ubuntu
sudo apt install -y python3-opencv libopencv-dev
# 验证安装
python3 -c "import cv2; print(cv2.__version__)"
优点:一键安装
缺点:版本可能较旧
cd ~
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git # 额外模块
cd opencv
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D WITH_CUDA=ON \
-D ENABLE_FAST_MATH=1 \
-D CUDA_FAST_MATH=1 \
-D WITH_CUBLAS=1 \
-D OPENCV_ENABLE_NONFREE=ON \
-D BUILD_EXAMPLES=ON ..
make -j$(nproc) # 使用所有CPU核心
sudo make install
sudo ldconfig # 更新动态链接库
conda create -n opencv_env python=3.9
conda activate opencv_env
conda install -c conda-forge opencv
// test.cpp
#include <opencv2/opencv.hpp>
using namespace cv;
int main() {
Mat image = imread("test.jpg");
imshow("Display", image);
waitKey(0);
return 0;
}
编译命令:
g++ test.cpp -o test `pkg-config --cflags --libs opencv4`
import cv2
print("OpenCV版本:", cv2.__version__)
img = cv2.imread('test.jpg')
cv2.imshow('Demo', img)
cv2.waitKey(0)
# 读取/显示图像
img = cv2.imread('input.jpg', cv2.IMREAD_COLOR)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 边缘检测
edges = cv2.Canny(gray, 100, 200)
# 保存结果
cv2.imwrite('output.jpg', edges)
cap = cv2.VideoCapture(0) # 0表示默认摄像头
while True:
ret, frame = cap.read()
if not ret: break
# 转换为灰度帧
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('Live', gray)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
img = cv2.imread('group.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
cv2.imshow('Face Detection', img)
cv2.waitKey(0)
cv::UMat uimage = imread("image.jpg").getUMat(cv::ACCESS_READ);
cv2.setUseOptimized(True)
cv2.setNumThreads(4) # 使用4个线程
roi = img[y1:y2, x1:x2] # 使用数组切片而非拷贝
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
检查CUDA支持:
print(cv2.cuda.getCudaEnabledDeviceCount())
安装额外编码器:
sudo apt install libx264-dev ffmpeg
提示:本文档基于OpenCV 4.5+版本,如需特定版本请修改git checkout命令。建议在虚拟环境中测试新功能,避免污染系统环境。 “`
这篇文章包含了从安装到基础使用的完整流程,采用模块化结构便于阅读。实际使用时可根据需要调整: 1. 安装部分可选择最适合的方式 2. 示例代码需要准备对应的测试图片 3. CUDA加速部分需要NVIDIA显卡支持 4. 中文注释可自行添加
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。