这里主要讲两个方面,一个是安装摄像头驱动,还有一个简单程序的运行调试。
一.安装摄像头驱动
之前已经讲过opencv的安装,可是现在我们还不能打开摄像头,因为我们还没有安装摄像头驱动,网上有一些免驱动摄像头,我是随便买了一个usb接口的摄像头,所以不知道那种好用不,在这里我下载了一个万能摄像头驱动:
sudo apt-get install guvcview
等待下载完成之后,重启,再输入guvcview就可以打开摄像头了。
二.用程序打开摄像头
在这里我用了书上《pcDuino开发实战》的例子测试了下载的opencv以及摄像头是否可以用。
这里主要是程序当中摄像头选取需要进行更改:
camera_index = 0 //这里是摄像头的选取,如果只有一个摄像//头,可选的数值有-1、0、1,我自己也没有找到规律,所以每次//都是一个一个试
如果选择错误的话则会出现以下的错误:
打开终端编译运行程序即可用打开摄像头,实现结果如下:
三.调试图像处理的程序
(1)程序如下(程序当中的注释部分已经加黑,在这里把程序贴进来是为了更好的说明在编译时出现的错误):
这里的程序文件是cpp文件,在pcduino上可以用cmake进行编译,网上很多教程都是说需要用qt进行编译,其实完全可以不用,由于qt解压出来及其大,pcduino的内存不足以支撑还必须加一个扩展卡,此外qt安装时间及其久,在无错误情况下仍需要36个小时,而它只是一个编译界面,我们完全可以用g++进行编译:
把程序保存在了桌面,由于例子程序是cpp文件,所以命名为02.cpp
(2)第一次编译出现以下错误:
显示找不到highgui文件,在这里需要说明一下,由于在ros底下安装的opencv有opencv1和opencv2,而在这两个文件底下都有highgui.h,程序当中直接使用#include <highgui.h>调用,系统不知道使用的是哪一个highgui.h文件,所以才会报错,把语句改成:即可
(3)第二次编译发现还是有错误,错误如下:
找不到程序当中所应用的opencv库函数。
经过百度之后发现需要增加语句:‘pkg-config –libs –cflags opencv’
这句语句是用来连接opencv库文件的。
可是运行结束之后发现仍会出现以下错误:
找不到文件,经过坚持不懈的百度之后,发现是标点符号有错,在这里的两小点是如下图的两小点(~底下那个点),而不是英文字符底下的“ ’”,语句为` pkg-config –libs –cflags opencv`
解决这个问题之后就可以正常编译了。
编译结果如下:
(1) 运行程序结果: