在pcduino上实现图像识别的程序

这里主要讲两个方面,一个是安装摄像头驱动,还有一个简单程序的运行调试。

一.安装摄像头驱动

之前已经讲过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) 运行程序结果:

原文地址:https://www.cnblogs.com/cc0519/p/5360570.html