目录
在计算机视觉和图像处理领域,OpenCV(Open Source Computer Vision Library)是一个功能强大且广泛使用的开源库。通过学习 OpenCV,我们可以轻松地实现各种图像处理和计算机视觉任务。本次实验将指导读者在 Ubuntu 系统下安装 OpenCV 3.x,并编写简单的图像处理程序,同时学习如何使用不同的编译方式来构建项目。
一、安装 OpenCV 3.x
在安装 OpenCV 之前,首先需要更新系统的包列表,确保所有软件包都是最新版本。在终端中运行以下命令:
sudo apt-get update
sudo apt-get upgrade
2. 安装依赖包
OpenCV 依赖于多个库来实现其功能,如图像处理、视频处理、机器学习等。安装这些依赖包:
sudo apt-get install build-essential cmake git pkg-config libgtk-3-dev \
libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev \
libx264-dev libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev \
python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev
3. 下载 OpenCV 源码
从 GitHub 上下载 OpenCV 3.x 的源码。在终端中运行以下命令:
cd ~
git clone https://github.com/opencv/opencv.git
cd opencv
git checkout 3.4.15 # 选择 OpenCV 3.4.15 版本
4. 创建构建目录
创建一个目录用于构建 OpenCV:
mkdir build
cd build
5. 配置 OpenCV
使用 CMake 配置 OpenCV 的构建选项。在终端中运行以下命令:
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON ..
6. 编译和安装
编译并安装 OpenCV:
make -j$(nproc) # 使用所有可用的 CPU 核心加速编译
sudo make install
二、编写和编译图像处理程序
1. 编写简单的图像处理代码
创建一个名为 test1.cpp
的文件,并编写以下代码:
#include <opencv2/opencv.hpp>
#include <iostream>
int main() {
cv::Mat image = cv::imread("example.jpg"); // 读取图像
if (image.empty()) {
std::cerr << "无法加载图像!" << std::endl;
return -1;
}
cv::imshow("Original Image", image); // 显示原始图像
cv::waitKey(0); // 等待用户按键
cv::Mat gray_image;
cv::cvtColor(image, gray_image, cv::COLOR_BGR2GRAY); // 转换为灰度图像
cv::imshow("Gray Image", gray_image); // 显示灰度图像
cv::waitKey(0);
return 0;
}
2. 使用 GCC 编译命令
使用以下命令编译 test1.cpp
:
g++ test1.cpp -o test1 `pkg-config --cflags --libs opencv`
3. 使用 Makefile 编译
创建一个名为 Makefile
的文件,并编写以下内容:
# 定义变量
CXX = g++
CXXFLAGS = $(shell pkg-config --cflags opencv)
LDFLAGS = $(shell pkg-config --libs opencv)
TARGET = test1
SOURCES = test1.cpp
# 默认目标
all: $(TARGET)
# 构建目标
$(TARGET): $(SOURCES)
$(CXX) $(CXXFLAGS) -o $@ $^ $(LDFLAGS)
# 清理目标
clean:
rm -f $(TARGET)
make
./test1
make clean
4. 使用 CMake 编译
创建一个名为 CMakeLists.txt
的文件,并编写以下内容:
cmake_minimum_required(VERSION 3.0)
project(ImageProcessing)
find_package(OpenCV REQUIRED)
add_executable(test1 test1.cpp)
target_link_libraries(test1 ${OpenCV_LIBS})
在终端中运行以下命令来编译程序:
mkdir build
cd build
cmake ..
make
./test1
三、总结
通过本次实验,我们成功在 Ubuntu 系统下安装了 OpenCV 3.x,并编写了一个简单的图像处理程序。收获巨大!
本人才疏学浅,如文章中有出现纰漏,还望海涵!
参考文献:
详细介绍:【计算机视觉】OpenCV(Open Source Computer Vision Library)介绍与学习路线 - ljbguanli - 博客园