Ubuntu+OpenCV2.4.11+ CodeBlocks 配置
1.OpenCV 与 CodeBlocks 的安装都比较简单,好多教程。
参考http://www.cnblogs.com/lyutian/p/4425956.html 安装opencv。
Codeblocks安装参考http://blog.csdn.net/xinyunyishui/article/details/50967395
使用opencv库
1. 命令行形式
直接编写C 或者C++ 程序,然后分别用gcc,g++编译器生成可执行程序。
1) C程序版:

#include <highgui.h> int main(int argc, char **argv)
{
IplImage* img = cvLoadImage(argv[1],CV_LOAD_IMAGE_COLOR);
cvNamedWindow("Image_show",CV_WINDOW_AUTOSIZE);
cvShowImage("Image_show",img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("Image_show");
return 0;
}

编译过程:
$ gcc test.c -o test `pkg-config opencv --cflags --libs`
2) C++程序版:

#include <opencv2/opencv.hpp>
using namespace cv; int main( int argc, char** argv )
{
Mat image;
image = imread( argv[1], 1 );
if( argc != 2 || !image.data )
{
printf( "No image data \n" );
return -1;
}
namedWindow( "Display Image", WINDOW_AUTOSIZE );
imshow( "Display Image", image );
waitKey(0);
return 0;
}

编译过程:
$ g++ first.cpp -o first `pkg-config opencv --cflags --libs` // 包含、链接参数一定要放在后面
2. CMake运行形式
cmake 是先将程序所需的依赖、原料组织起来,产生Makefile,然后在又make来编译生成可执行程序。最重要的就是编写CMakeList.txt文件。以上文C++程序为例,CMakeList.txt为:
cmake_minimum_required(VERSION 2.8)
project( first )
find_package( OpenCV REQUIRED )
add_executable( first frist.cpp )
target_link_libraries( first ${OpenCV_LIBS} )
然后,CMake,再make:
$ cmake .
$ make
$ ./first
如下是 codeblocks下opencv开发的配置。
1.查看相关文件的路径
打开终端,输入: ~$ pkg-config --cflags opencv //查看 opencv 头文件(.h) 位置
我的输出: -I/usr/local/include/opencv -I/usr/local/include
输入: ~$ pkg-config --libs opencv //查看opencv 库文件位置
输出:
2.打开cd:block新建一个空项目,右击项目名进入Build options.修改debug下的内容.
(1) Search directories-->Compiler 点击add按钮添加上面的opencv头文件路径(如下图):
(2)Linker settings下面添加opencv的lib文件,通过add按钮键添加进来.注意:大多数情况下你之要添加进来libopencv_core.so和libopencv_highgui.so两个文件,这里我原先也是这样,结果编译之后出现下面的错误:/usr/bin/ld: obj/Debug/main.o||undefined reference to symbol '_ZN2cv6imreadERKNS_6StringEi'|
原因是没有添加libopencv_imgcodecs.so,原因就别管啦.当然你也可以把上面 pkg-config --libs opencv 找到的所有opencv的库文件都添加进来.如下图:
一点提醒:一定要严格按照一开始的两个命令指示的路径来add.
ok,下面是一个简单的demo.cpp.
#include<iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;
int main()
{
Mat img=imread("lena.jpg");
namedWindow("风景");
imshow("风景",img);
waitKey(0);
return 0;
}
参考:
Ubuntu+OpenCV2.4.11+ CodeBlocks 配置的更多相关文章
- win764上vs2010+opencv2.4.11安装配置
1:准备工作 1)opencv的官网下载你所要版本的opencv库文件,运行安装解压到自定义的一个文件夹里(D:\Program Files). 2)安装vs2010. 二:配置 1.计算机环境变量: ...
- win7 VS2012+openCV-2.4.11 配置
1.下载 http://opencv.org/downloads.html (根据版本的不同选择,这里选择的是opencv-2.4.11) 2.安装 3.环境变量配置 计算机->属性->高 ...
- vs2013+opencv2.4.11+Qt5.5.1配置
注意本教程配置环境:win7 32位 如果只配置vs2013+opencv2.4.11,参考http://jingyan.baidu.com/article/ff411625b1311a12e4823 ...
- CvvImage在高级别的Opencv2.4.11下的配置以及错误解决办法。
由于高版本的OpenCV2.4.11里取消了CImage(CvvImage),在此我们可以用老的版本替代. 在需要的地方引入 #include "CvvImage.h" 就可以用了 ...
- 在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache + Mono)
[题外话] 闲的无聊竟然想尝试测试自己做的项目在不同操作系统上的性能表现,所以决定试试在Linux上部署Apache和Mono的环境.由于平时很少接触Linux,所以从网上找了几篇文章(附在相关链接中 ...
- [转]ubuntu 10.04下的配置tftp服务器
[转]ubuntu 10.04下的配置tftp服务器 http://www.cnblogs.com/geneil/archive/2011/11/24/2261653.html 第1步:安装tftp所 ...
- 在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache + Mono)转载+补充
错误:Network error: Connection refused 解决办法: 执行 $sudo apt-get install openssh-server 安装ssh协议 执行ifconfi ...
- (原+转)ubuntu16中安装opencv2.4.11
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5638117.html 参考网址: http://www.cnblogs.com/jeakon/arch ...
- (原+转)ubuntu16中安装opencv2.4.11(2.4.13)
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5638117.html 参考网址: http://www.cnblogs.com/jeakon/arch ...
随机推荐
- 解析HTML
解析HTML 一.什么是HTML HTML是超文本标签语言,即网页的源码.而浏览器就是翻译解释HTML源 ...
- C++ 常见的 Undefined symbols for architecture *
出现 Undefined symbols for architecture x86_64: 的原因 1.函数申明了,却未被定义. 2.申明的虚函数未被实现. NOTE: a missing vtabl ...
- 【SoDiaoEditor电子病历编辑器】阶段性更新啦
转眼距离上一次v2正式发布已经过去一个半月了.github期间不定期push了二十几次,同时感谢分布在广州.福建.上海.北京的一众小伙伴,正是你们给出的建议,才让SoDiaoEditor不断完善. 我 ...
- angular.js的时间指令
最后样式 html .input-group(style="max-width:150px") input.form-control(uib-datepicker-popup=&q ...
- iOS自动打包并发布脚本
假如你的项目目录如下所示: |____AOP | |____AppDelegate.h | |____AppDelegate.m | |____Base.lproj | | |____LaunchSc ...
- 【Netty】Netty传输
一.前言 在简单学习了Netty中的组件后,接着学习Netty中数据的传输细节. 二.传输 2.1 传输示例 Netty中的数据传输都是使用的字节类型,下面通过一个实例进行说明,该实例中服务器接受请求 ...
- Linux常用网络测试命令
Linux常用网络测试命令 1. ifconfig 可以使用ifconfig命令来配置并查看网络接口的配置情况. 例如: (1) 配置eth0的IP地址, 同时激活该设备. #ifcon ...
- stm之SPI通信协议
SPI (Serial Peripheral interface),顾名思义就是串行外围设备接口.SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为P ...
- DedeCMS数据负载性能优化方案简单几招让你提速N倍
前文介绍了DedeCMS栏目列表页实现完美分页的方法,避免了大部分重复栏目标题对搜索引擎的影响,对SEO更有利.今天,分享一下DedeCMS数据负载性能优化的方法. 接触织梦也有三年多时间了,对它可谓 ...
- LinkedList源码解读
一.内部类Node数据结构 在讲解LinkedList源码之前,首先我们需要了解一个内部类.内部类Node来表示集合中的节点,元素的值赋值给item属性,节点的next属性指向下一个节点,节点的pre ...