树莓派使用Opencv库的C++操作

手头上有一个树莓派3,先前装好了树莓派jessie系统,经过一番周折又安装上了Opencv3.1,刚好最近在学Opencv,打算把自己的USB摄像头用在树莓派上试试,先打通这条道路,后面就可以继续干了。
首先将USB摄像头插在树莓派的任意一个USB孔里,使用lsusb可以查看摄像头有没有在设备里;

lsusb

这里写图片描述
然后在新建自己的工作目录;

mkdir opencv
cd ~/opencv

在此目录下新建测试文件,并使用vim进行编辑

touch test_opencv.cpp
vim test_opencv.cpp

这里需要实时地采集摄像头的信息,并且使用Canny进行边缘检测,简单的demo(来源于opencv例程)

#include<iostream>
#include<opencv2/opencv.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>

using namespace std;
using namespace cv;

int main()
{
    VideoCapture cap(1);//1:调用usb摄像头,0:调用树莓派自带摄像头
    if(!cap.isOpened())
    {
       cout<<"can't open this camera"<<endl;
       return -1;
         }  
         Mat frame,edges;
         while(1)
         {
         cap>>frame;
         cvtColor(frame,frame,COLOR_BGR2GRAY);//转化为灰度图
         blur(frame,frame,Size(7,7));//图像模糊去燥
         Canny(frame,edges,3,9,3);//检测轮廓
         imshow("Camera Capture",edges);
         if(waitKey(20)>=0)break;
         }
    return 0;
}

然后在相同的目录下新建CMakeLists.txt文件,使用cmake编译,简单方便,该文件可以像下面这样写:

camke_minimum_required(VERSION 2.6)
project(test_opencv)
find_package(OpenCV REQUIRED)
add_executable(test_opencv test_opencv.cpp)
target_link_libraries(test_opencv ${OpenCV_LIBS})

然后开始使用cmake编译啦!

cmake .
make

编译完成后,可以使用 ls 命令查看生成的文件

这里写图片描述
生成了可执行文件test_opencv,可以运行它了。。。。

./test_opencv

见证奇迹的时刻…..
.这里写图片描述

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页