📜  编译opencv程序——C编程语言(1)

📅  最后修改于: 2023-12-03 15:41:19.808000             🧑  作者: Mango

编译 OpenCV 程序 - C 编程语言

OpenCV 是一个开源的计算机视觉库,支持多种编程语言,包括 C 语言。在编写 OpenCV C 程序时,需要将程序编译为可执行文件。

步骤

下面是编译 OpenCV C 程序的步骤:

  1. 安装 OpenCV 库和 Cmake 工具
  2. 创建一个 CMakeLists.txt 文件
  3. 运行 Cmake 工具生成 Makefile 文件
  4. 使用 Make 命令编译程序
  5. 运行可执行文件
安装 OpenCV 库和 Cmake 工具

在 Linux 系统上,可以使用包管理器安装 OpenCV 库和 Cmake 工具。以 Ubuntu 为例,可以使用以下命令安装:

sudo apt-get update
sudo apt-get install libopencv-dev cmake
创建一个 CMakeLists.txt 文件

在编译 OpenCV C 程序时,需要创建一个 CMakeLists.txt 文件,指定编译参数和链接库。

下面是一个简单的 CMakeLists.txt 文件示例:

cmake_minimum_required(VERSION 3.15)
project(myapp)
find_package(OpenCV REQUIRED)
add_executable(myapp main.c)
target_link_libraries(myapp ${OpenCV_LIBS})

这个文件指定了项目名称为 myapp,查找 OpenCV 库并链接到可执行程序中,可执行程序的源代码为 main.c。

运行 Cmake 工具生成 Makefile 文件

进入项目目录,使用以下命令运行 Cmake 工具生成 Makefile 文件:

cmake .
使用 Make 命令编译程序

在生成 Makefile 文件后,可以使用 Make 命令编译程序:

make
运行可执行文件

编译成功后,可以运行可执行文件:

./myapp
综合示例

下面是一个完整的 OpenCV C 程序示例:

#include <opencv2/opencv.hpp>
using namespace cv;

int main(int argc, char** argv)
{
    // 打开摄像头
    VideoCapture cap(0);
    if (!cap.isOpened()) {
        return -1;
    }

    // 创建一个窗口
    namedWindow("Camera", WINDOW_NORMAL);

    // 循环读取并显示帧
    Mat frame;
    while (true) {
        cap >> frame;
        imshow("Camera", frame);
        if (waitKey(1) == 'q') {
            break;
        }
    }

    // 关闭摄像头和窗口
    cap.release();
    destroyWindow("Camera");
    return 0;
}

参考上述步骤,将该程序编译为可执行文件。运行可执行文件后,可以看到摄像头捕获的图像实时显示在窗口中。按下 'q' 键即可退出程序。