一、安装buildroot
下载buildroot:beaglebone做图像识别——buildroot-2016.05-rc2.0.tar.gz,下载后解压即可
二、安装虚拟显卡驱动vfb
下载驱动及测试代码:beaglebone做图像识别——vfb_.rar
测试:
查看/dev下是否有fb0,有fb0说明驱动已加载
在beaglebone上启动x11vnc,pc机上启动VNC Viewer 4,并连接到beaglebone
beaglebone上执行:# ./showBmp8888 1.bmp
测试结果:VNC Viewer 4中正常显示1.bmp图片
三、移植x11vnc
使用buildroot进行移植,进入buildroot目录,配置如下:
Target packages --->
Graphic libraries and applications (graphic/text) --->
X.org X Window System --->
x11vnc
编译:
# make x11vnc
错误解决方案:
1.“You should recreate aclocal.m4 with macros from libtool 2.4.6”
> 安装libtool 2.4.6(./configure --prefix=/usr)
> 进入相应出错模块目录make clean; rm -rf aclocal.m4
> 重新编译x11vnc
2.“must install xorg-macros 1.13 or later before running autoconf/autogen”
> 安装util-macros-1.13.0(./configure --prefix=/usr)
> 将安装到/usr目录下的libtool.m4文件拷贝到出错模块目录下的m4目录
> 将安装到/usr目录下的aclocal.m4文件拷贝到出错模块目录下
> 将交叉编译器下面的libtool文件拷贝到出错模块目录下
> 重现编译x11vnc
3.freescale平台出现“checking whether the C compiler works... no”
这是由于库文件路径不对造成的,freescale针对vfp/neon/soft有不同的库路径
这里采用default(为soft类型),执行脚本busybox.sh设置相应库路径
下载已经编译好的程序及库文件:beaglebone做图像识别——am335x_x11vnc_.rar
启动x11vnc命令:# x11vnc -rawfb map:/dev/fb0@1280x800x32 -rfbauth ~/.vnc/passwd &
四、移植qt
版本:qt-4.8.7,版本可以自由选择
使用buildroot进行移植,进入buildroot目录,配置如下:
Target packages --->
Graphic libraries and applications (graphic/text) --->
Qt --->
Library type (Shared library) ---> //选择编译成共享库
Approve free license //导入自由许可证
Pixel depths --->
16 bpp, rgb 5-6-5
24 bpp, rgb 8-8-8
32 bpp, argb 8-8-8-8 and rgb 8-8-8
Fonts ---> //个人全部选上,字库
freetype2 support (System freetype2) --->
JPEG support (System libjpeg) --->
PNG support (System libpng) --->
TIFF support (System libtiff) --->
zlib support (System zlib) --->
Graphics drivers --->
Linux Framebuffer
Mouse drivers --->
linuxtp
linux input
tslib
Test Module
其他配置视情况而定
编译:
# make qt
相关链接:buildroot-2015.02编译根文件系统支持Qt
Qt4----子例化QDialog(可扩展对话框的使用)
下载已经编译好的qt库及测试程序:beaglebone做图像识别——am335x_qt-4.8.7_.rar
测试:# ./mainwindow -qws
测试结果:在VNC Viewer 4窗口中正常显示qt测试界面
五、移植opencv及图像识别算法
版本:opencv1.0.0/opencv2.4.12.3
两个版本任选一个版本进行移植,opencv1.0.0全部采用c语言,移植过程手动操作;opencv2.4.12.3采用c++语言,使用buildroot移植
1、移植opencv1.0.0:
beaglebone做图像识别——opencv1.0.0移植.part1.rar
beaglebone做图像识别——opencv1.0.0移植.part2.rar
2、移植opencv2.4.12.3,使用buildroot进行移植,进入buildroot目录,配置如下:
Target packages --->
Libraries --->
Graphics --->
opencv-2.4 --->
-*- calib3d
contrib
-*- features2d
-*- flann
-*- highgui
-*- imgproc
legacy
-*- ml (machine learning)
-*- objdetect
-*- photo
stitching
superres
ts (touchscreen)
-*- video
videostab
ffmpeg support
gstreamer support (gstreamer-1.x) --->
jpeg2000 support
jpeg support
png support
qt backend support
tiff support
v4l support
编译:
# make opencv
测试:
下载已经编译好的qt库及测试项目:beaglebone做图像识别——am335x_opencv-2.4.12.3_usr_lib.tar.rar
在QT目录中使用qmake及make的方式编译测试项目ObjDetect
beaglebone上执行 # ObjDetect -qws
测试结果:在VNC Viewer 4窗口中正常显示目标图片识别结果
相关链接:搭建Qt界面的OpenCV开发环境
相关下载:
beaglebone做图像识别——boot.rar2
beaglebone做图像识别——beaglebonefs.tar.bz2
参考文献:
用VNC在电脑上直接显示BBB的framebuffer图像 |