歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Mac/Linux編譯OpenCV程序

Mac/Linux編譯OpenCV程序

日期:2017/3/1 9:12:11   编辑:Linux編程

編譯C++程序

在編譯OpenCV程序之前,先看一下普通的C++程序如何編譯,假設main.cpp有如下代碼,最終結果是打印hello world,

#include <iostream>
using namespace std;

int main(int argc, const char * argv[])
{
    cout << "hello world" << endl;
    return 0;
}

在命令行中只要輸入以下命令就可以看到輸出hello world,

g++ main.cpp -o main
./main

編譯OpenCV程序

首先需要安裝pkg-config命令,具體方法參考教程。http://www.linuxidc.com/Linux/2016-09/135037.htm

安裝成功之後,在命令行輸入以下命令可以看到OpenCV相應的頭文件和動態庫文件的路徑,

pkg-config --cflags --libs opencv

一個OpenCV程序不光需要編譯程序本身,還需要將OpenCV相應的頭文件和動態庫文件一起編譯,假設main.cpp中的程序如下,

#include <opencv2/opencv.hpp>

using namespace cv;

int main(int argc, const char * argv[]) {

    IplImage *img = cvLoadImage("the path of a image");
    cvNamedWindow ("Source", 1);
    cvShowImage ("Source", img);

    cvWaitKey(0);
    cvReleaseImage(&img);
    return 0;
}

在命令行中輸入以下程序進行編譯並運行,注意包圍pkg-config部分的是`號不是單引號’,程序可以顯示自己指定的一張圖片,

g++ `pkg-config --cflags --libs opencv` main.cpp -o main
./main

如果覺得每次輸入以上編譯程序很麻煩,可以將其存儲到文件中,首先使用touch Makefile命令創建Makefile文件,裡面輸入如下內容,

all:
    g++ `pkg-config --cflags --libs opencv` main.cpp -o main

這樣只要在命令行中輸入make即可。

Copyright © Linux教程網 All Rights Reserved