本文的原文连接是: 未经博主允许不得转载。 博主地址是:
1,关于openCV
OpenCV于1999年由Intel建立,如今由Willow Garage提供支持。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。 下载地址:
2,开发环境搭建
参考之前的文章,主要是ubuntu安装了ROS就可以使用openCV。 Lubuntu 15.04也可以安装ROS,参考之前写的文章:
3,开发第一个hello world 显示图片
编写demo1.cpp代码:
cv;;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” 安装Virtualbox和Extension Pack。 首先启动virtualbox虚拟机,查询摄像头id。增加到虚拟机上面。
$ VBoxManage list webcams .controlvm “Lubuntu” webcam attach CC24399GSAD99VVD3
必须启动虚拟机否则报错:
VBoxManage: error: Machine ‘Lubuntu’ is not currently running
一次执行就可以,以后可以正常使用了。
编辑demo2.cpp
cv;;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,,总结
本文的原文连接是: 未经博主允许不得转载。 博主地址是:
使用Lubuntu开发openCV还是非常方便的。在ROS系统下openCV非常重要。只有机器人能够识别物体之后才能进行操作。
都属于昨天。哪怕那山再青,那水再秀,