ROS(8):Lubuntu下openCV 开发

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/48379799 未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys

1,关于openCV

OpenCV于1999年由Intel建立,如今由Willow Garage提供支持。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
下载地址:
http://opencv.org/downloads.html

2,开发环境搭建

参考之前的文章,主要是ubuntu安装了ROS就可以使用openCV。
Lubuntu 15.04也可以安装ROS,参考之前写的文章:
http://blog.csdn.net/freewebsys/article/details/48466543

3,开发第一个hello world 显示图片

http://docs.opencv.org/doc/tutorials/introduction/linux_gcc_cmake/linux_gcc_cmake.html
编写demo1.cpp代码:

#include <stdio.h>
#include <opencv2/opencv.hpp>

using namespace cv;
using namespace std;

int main(int argc, char **argv) {
    Mat image;
    //读取图片
    image = imread("lena.jpg", 1);
    if (!image.data) {
        cout << "No image data \n" << endl;
        return -1;
    }
    namedWindow("Display Image", WINDOW_AUTOSIZE);
    imshow("Display Image", image);
    waitKey(0);
    return 0;
}

关于Cmake:
CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。CMake 提供了比 autoconfig 更简洁的语法。
编辑:CMakeLists.txt

cmake_minimum_required(VERSION 3.0)
project(demo1)
find_package( OpenCV REQUIRED )

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(SOURCE_FILES demo1.cpp)
add_executable(demo1 ${SOURCE_FILES})
target_link_libraries( demo1  ${ALL_LIB_RAF} ${OpenCV_LIBS} )

执行:必须有一张叫lena.jpg 的图像。

cmake .
make
./demo1 

4,视频demo

首先使用的是virtualbox环境开发,好处是开发方便,Linux环境。
但是没有办法调用摄像头,其实还是可以使用摄像头的。
首先下载:”Oracle VM VirtualBox” 和 “Oracle VM VirtualBox Extension Pack”
http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html
安装Virtualbox和Extension Pack。
首先启动virtualbox虚拟机,查询摄像头id。增加到虚拟机上面。

$ VBoxManage list webcams
Video Input Devices: 1
.1 "FaceTime HD Camera"
CC24399GSAD99VVD3

$ VBoxManage controlvm "Lubuntu" webcam attach CC24399GSAD99VVD3

必须启动虚拟机否则报错:

VBoxManage: error: Machine 'Lubuntu' is not currently running

一次执行就可以,以后可以正常使用了。

编辑demo2.cpp

#include <stdio.h>
#include <opencv2/opencv.hpp>

using namespace cv;
using namespace std;

int main(int argc, char **argv) {
    VideoCapture capture(0);
    while(1){
        Mat frame;
        capture >> frame;
        imshow("read video" , frame);
        waitKey(30);
    }
    return 0;
}

编辑CMakeLists.txt:

cmake_minimum_required(VERSION 3.0)
project(demo2)
find_package( OpenCV REQUIRED )

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(SOURCE_FILES demo2.cpp)
add_executable(demo2 ${SOURCE_FILES})
target_link_libraries( demo2  ${ALL_LIB_RAF} ${OpenCV_LIBS} )

编译&执行:

cmake .
make
./demo2

这样就可以使用宿主的摄像头了。

5,总结

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/48379799 未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys

使用Lubuntu开发openCV还是非常方便的。在ROS系统下openCV非常重要。只有机器人能够识别物体之后才能进行操作。

时间: 2024-10-03 16:28:30

ROS(8):Lubuntu下openCV 开发的相关文章

opencv-Android平台下的OpenCV开发问题

问题描述 Android平台下的OpenCV开发问题 本人刚学Android平台下的OpenCV开发,但是现在遇到一个问题:在Android模拟器下调试程序时出现"OpenCV manager package was not found,请安装它,"请问去下载什么文件,怎么在模拟器下安装它??先谢谢各位的帮助. 解决方案 这个嘛?兄弟我无能为力............ 解决方案二: 你可以试试直接在模拟器上登录谷歌play,搜索opencv manager,安装一下就应该可以了.

.NET Compact Framework下HttpWebRequest开发

当Windows Mobile程序需要使用Web Server的信息,一开始自然会想到使用WebService.可是有些Web Server不提供WebService,只是提供Http浏览功能,如果需要从Http网页中得到信息,可以使用HttpWebRequest和HttpWebResponse来完成,下面通过一个例子来讲述. 例如有一个使用ASP.net开发的燃料价格查询网站. 图1 输入燃料类型(Fuel Type)和邮政编码(Postcode)后可以查询出燃料价格,如下图. 图2 在Win

Linux下Android开发环境搭建详细步骤

  1.系统环境 [android@localhost ~]$ uname -a Linux localhost.localdomain 2.6.32-71.el6.i686 #1SMP Wed Sep 1 01:26:34 EDT 2010 i686 i686 i386 GNU/Linux [android@localhost ~]$ lsb_release -a LSB Version: :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:gra

《Cocos2D-x权威指南》——2.1 Windows下的开发环境配置

2.1 Windows下的开发环境配置 搭建Windows下的Cocos2D-x开发环境,首先需要安装VS,VS是微软公司推出的集成开发环境,是目前Windows平台上最流行的开发环境.它可以用来创建Windows平台下的Windows应用程序.网络应用以及网络服务等,支持的语言包括C++.Basic.C#等. Cocos2D-x框架支持的VS版本包括VS2008.VS2008 Express以及VS2010.本书选择的开发环境是VS2008. 首先,从微软官方网站下载VS(VS是一款收费软件)

《Cocos2D-x权威指南》——2.3 iOS下的开发环境配置

2.3 iOS下的开发环境配置 iOS操作系统是由苹果公司开发的手持设备操作系统,最早发布于2007年1月9日的Macworld大会上,最初是为iPhone设计的,后来陆续套用到iPod Touch.iPad以及Apple TV等苹果移动操作设备上. iOS与苹果以Darwin为基础,因此同样属于类UNIX的商业操作系统.原本这个系统名为iPhone OS,直到2010年6月7日WWDC大会上被改名为iOS.截至2011年11月,iOS已经占据了全球智能手机系统市场份额的30%. Xcode是苹

《Cocos2D-x权威指南》——2.2 Android下的开发环境配置

2.2 Android下的开发环境配置 Android本意是"机器人",是Google公司推出的开源手机操作系统.Android基于Linux操作系统,由操作系统.中间件.用户界面和应用软件组成,号称首个为移动终端打造的真正开放和完整的移动软件. 在Android最早发布时,Google公司官方将Java语言作为第三方应用的开发语言,但是也没有完全拒绝C语言的开发人员使用自己的语言进行开发,因为在Android发布初期,Google就表明其虚拟机支持JNI(Java Native In

linux下C++开发工具

就C++开发工具而言,与Windows下微软(VC, VS2005等)一统天下相比,Linux/Unix下C++开发,可谓五花八门,各式各样.Emacs, vi, eclipse, anjuta,kdevelop等层出不穷.Windows下,开发工具多以集成开发环境IDE的形式展现给最终用户.例如,VS2005集成了编辑器,宏汇编ml,C /C++编译器cl,资源编译器rc,调试器,文档生成工具, nmake.它们以集成方式提供给最终用户,对于初学者而言十分方便.但是,这种商业模式,直接导致用户

glade linux-如何在Lubuntu下快速安装glade

问题描述 如何在Lubuntu下快速安装glade 刚安装的Lubuntu14.04系统,然后载好glade包,解包,安装,./configure的时候,提示错误,说是gtk之类的版本太低,然后载了最新版的gtk安装,./configure的时候,又提示别的什么版本太低.是不是我安装完系统之后,环境没有搭建好,所以很多库或者软件没有或者版本太低?求大神指点啊! 解决方案 嗯,问题解决了,就是登录ubuntu package 网站,搜索glade,然后需要什么包,就sudo apt-get ins

app安全-刚检测下新开发的APP漏洞,发现分数不高,求指教

问题描述 刚检测下新开发的APP漏洞,发现分数不高,求指教 最近刚开发完一个APP,用APP漏洞检测平台测试了下结果,把我吓尿了,才32分,怎么破,求大神指点指点?小生在此谢谢了! 补充说明:用的爱内测的APP漏洞检测平台进行检测的:http://www.detect.cn/ 解决方案 我觉得你得逐个去解决,如Activity安全,你可以参考以下 http://www.360doc.com/content/13/0527/15/12229927_288551760.shtml 解决方案二: 用n