opencv的第一份代码,及其makefile通用格式

opencv

版本查看
pkg-config --modversion opencv

读取图片并显示的小程序

//#include "stdafx.h" 在Ubuntu中需要注释这个

#include <iostream>
#include <string>
#include <pthread.h>
#include <unistd.h>

#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main(int argc, char* argv[])
{
    const char* imagename = "lena.jpg";

    //从文件中读入图像
    Mat img = imread(imagename);

    //如果读入图像失败
    if(img.empty())
    {
        fprintf(stderr, "Can not load image %s\n", imagename);
        return -1;
    }

    //显示图像
    imshow("image", img);

    //此函数等待按键,按键盘任意键就返回
    waitKey();

    return 0;
}

opencv通用makefile,使用时要删去下列中文

TARGET = ./demo 
//生成的执行文件

SRCS := $(wildcard ./src/*.cpp ./*.cpp)
//源文件 cpp

OBJS := $(patsubst %cpp,%o,$(SRCS))
//目标文件 .o

CFLG = -g -Wall -I/usr/local/include -Iinc -I./ -std=c++11
//头文件.h文件

LDFG = -Wl,-rpath,/usr/local/lib -L./ -L/usr/local/lib -L./inc -lrt -lpthread  -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_videoio `pkg-config opencv --cflags --libs ` 
//依赖库,其中`pkg-config opencv --cflags --libs ` 尤为重要。有时在CFLG中也要加入这句
//`pkg-config  opencv --flags --libs(依赖文件) `一定要放在后面

CXX = g++

$(TARGET) : $(OBJS)
    $(CXX) -o $(TARGET) $(OBJS) $(LDFG)
//链接:由目标文件生成执行文件

%.o:%.cpp
    $(CXX) $(CFLG) -c $< -o $@
//编译:由源文件生成目标文件

.PHONY : clean
clean:
    -rm ./*.o
    -rm ./src/*.o
    -rm ./bin/*

pkg-config 当你从源代码编译软件时,用来提供依赖库的信息的软件

终端输入pkg-config opencv --libs --cflags,可以得到

-I/usr/local/include/opencv -I/usr/local/include  -L/usr/local/lib -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_viz -lopencv_core 

如果发现不正确,可以修改/usr/local/lib/pkgconfig/opencv.pc文件,这个文件就是opencv的目录配置

参考博客

http://www.cnblogs.com/llxrl/p/4471831.html

http://blog.csdn.net/CV_YOU/article/details/70261276

http://blog.sina.com.cn/s/blog_dae08e100102v4e3.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值