在pcduino上实现图像识别的程序
這里主要講兩個方面,一個是安裝攝像頭驅(qū)動,還有一個簡單程序的運行調(diào)試。
一.安裝攝像頭驅(qū)動
之前已經(jīng)講過opencv的安裝,可是現(xiàn)在我們還不能打開攝像頭,因為我們還沒有安裝攝像頭驅(qū)動,網(wǎng)上有一些免驅(qū)動攝像頭,我是隨便買了一個usb接口的攝像頭,所以不知道那種好用不,在這里我下載了一個萬能攝像頭驅(qū)動:
sudo apt-get install guvcview
等待下載完成之后,重啟,再輸入guvcview就可以打開攝像頭了。
二.用程序打開攝像頭
在這里我用了書上《pcDuino開發(fā)實戰(zhàn)》的例子測試了下載的opencv以及攝像頭是否可以用。
這里主要是程序當(dāng)中攝像頭選取需要進行更改:
camera_index = 0? //這里是攝像頭的選取,如果只有一個攝像//頭,可選的數(shù)值有-1、0、1,我自己也沒有找到規(guī)律,所以每次//都是一個一個試
如果選擇錯誤的話則會出現(xiàn)以下的錯誤:
?
打開終端編譯運行程序即可用打開攝像頭,實現(xiàn)結(jié)果如下:
?三.調(diào)試圖像處理的程序
(1)程序如下(程序當(dāng)中的注釋部分已經(jīng)加黑,在這里把程序貼進來是為了更好的說明在編譯時出現(xiàn)的錯誤):
?
?
這里的程序文件是cpp文件,在pcduino上可以用cmake進行編譯,網(wǎng)上很多教程都是說需要用qt進行編譯,其實完全可以不用,由于qt解壓出來及其大,pcduino的內(nèi)存不足以支撐還必須加一個擴展卡,此外qt安裝時間及其久,在無錯誤情況下仍需要36個小時,而它只是一個編譯界面,我們完全可以用g++進行編譯:
把程序保存在了桌面,由于例子程序是cpp文件,所以命名為02.cpp
(2)第一次編譯出現(xiàn)以下錯誤:?
顯示找不到highgui文件,在這里需要說明一下,由于在ros底下安裝的opencv有opencv1和opencv2,而在這兩個文件底下都有highgui.h,程序當(dāng)中直接使用#include <highgui.h>調(diào)用,系統(tǒng)不知道使用的是哪一個highgui.h文件,所以才會報錯,把語句改成:即可
?
(3)第二次編譯發(fā)現(xiàn)還是有錯誤,錯誤如下:
?
找不到程序當(dāng)中所應(yīng)用的opencv庫函數(shù)。
經(jīng)過百度之后發(fā)現(xiàn)需要增加語句:‘pkg-config –libs –cflags opencv’
這句語句是用來連接opencv庫文件的。
可是運行結(jié)束之后發(fā)現(xiàn)仍會出現(xiàn)以下錯誤:
?找不到文件,經(jīng)過堅持不懈的百度之后,發(fā)現(xiàn)是標(biāo)點符號有錯,在這里的兩小點是如下圖的兩小點(~底下那個點),而不是英文字符底下的“ ’”,語句為` pkg-config –libs –cflags opencv`
解決這個問題之后就可以正常編譯了。
?
編譯結(jié)果如下:
?
(1) 運行程序結(jié)果:
轉(zhuǎn)載于:https://www.cnblogs.com/cc0519/p/5360570.html
總結(jié)
以上是生活随笔為你收集整理的在pcduino上实现图像识别的程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 沼泽鳄鱼_SSL2511_矩阵乘法
- 下一篇: Bug整理——$(window).hei