zl程序教程

您现在的位置是:首页 >  后端

当前栏目

ROS(8):Lubuntu下openCV 开发

2023-09-11 14:21:14 时间

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


参考之前的文章,主要是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 .

./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

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


add_executable(demo2 ${SOURCE_FILES}) target_link_libraries( demo2 ${ALL_LIB_RAF} ${OpenCV_LIBS} )

编译 执行:

cmake .

./demo2

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

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

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


放弃C++,为什么我要安利Python来开发OpenCV?! 上次聊完Python+OpenCV的基本元素-图片,就有同学直言简单~ 那么接下来我们学习打开摄像头捕获照片、播放本地视频、录制视频等。
放弃C++,这是推荐使用Python来开发OpenCV的第五个教程! 如果你也有想分享的干货,可以登录天池实验室(notebook),包括赛题的理解、数据分析及可视化、算法模型的分析以及一些核心的思路等内容。