手头上有一个树莓派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编译,简单方便,该文件可以像下面这样写:
cmake_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
见证奇迹的时刻…
.