本教程详细介绍了如何在Ubuntu操作系统上安装和配置OpenCV库,并提供了实用示例来帮助开发者快速开始计算机视觉项目。
在Ubuntu系统中安装OpenCV(开源计算机视觉库)是一个重要的步骤,因为该库广泛应用于图像处理、计算机视觉以及机器学习等领域。本教程将详细介绍如何在Ubuntu上安装和使用版本3.1的OpenCV。
首先,在终端输入以下命令以确保系统具备构建和运行OpenCV的基本条件:
```bash
sudo apt-get install libqt4-dev libopencv-dev build-essential cmake git libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip
```
接下来,从OpenCV的官方网站下载适合版本。例如选择3.1.0版本,并将其解压缩到一个合适的目录。
创建名为“build”的子文件夹并进入该文件夹:
```bash
mkdir build
cd build
```
然后运行`cmake`命令,添加相应的配置选项:
```bash
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D BUILD_PYTHON_SUPPORT=ON \
-D WITH_XINE=ON \
-D WITH_OPENGL=ON \
-D WITH_TBB=ON \
-D BUILD_EXAMPLES=ON \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D WITH_V4L=ON ..
```
这些选项用于指定构建类型、安装路径、开启Python支持、XINE多媒体库支持、OpenGL支持、TBB并行库支持和V4L(Video for Linux)支持。
接着使用`make`命令进行编译。添加参数以实现并行编译,提高效率:
```bash
make -j $(nproc)
```
编译完成后,通过以下命令将OpenCV安装到系统中:
```bash
sudo make install
```
配置库路径以便正确识别OpenCV库:
```bash
bin/bash -c echo /usr/local/lib > /etc/ld.so.conf.d/opencv.conf
sudo ldconfig
```
验证安装是否成功,可以使用`pkg-config`命令来检查版本和编译标志。
最后通过编写简单的C++程序测试OpenCV。创建一个名为`test.cpp`的文件,并添加以下代码:
```cpp
#include
#include
using namespace cv;
int main(int argc, char** argv) {
if (argc != 2) {
printf(No image data\n);
return -1;
}
char *imageName = argv[1];
Mat image;
image = imread(imageName, 1);
if (!image.data) {
printf(No image data\n);
return -1;
}
namedWindow(imageName, CV_WINDOW_AUTOSIZE);
imshow(imageName, image);
waitKey(0);
return 0;
}
```
编译并运行程序,需要链接OpenCV库:
```bash
g++ test.cpp `pkg-config --cflags --libs opencv` -o test
./test your_image.jpg
```
如果一切顺利,程序将打开并显示指定的图片。
总结来说,在Ubuntu中安装和使用OpenCV涉及几个步骤:安装必要的依赖项、下载源代码、配置与编译库文件,并最终通过编写测试程序验证其是否正确设置。尽管过程较为复杂,但完成后便可以在Ubuntu环境中利用强大的OpenCV进行图像处理及计算机视觉开发了。