ARM平台实现于仕琪人脸检测库YSQfastfd
平台要求
ARM32 platform hardware board
Ubuntu 16.04 with GTK3 library
USB camera (480P/720P), YUYV
步骤
sudo apt install build-essential vim-gtk libgtk-3-0 libgtk-3-dev libegl1-mesa-dev
sudo git clone git@github.com:OAID/YSQfastfd.git
cd YSQfastfd/
sudo make -j4
sudo chmod +x ./run.sh
./run.sh
运行之前需要检查一下是否安装摄像头及其驱动;
ls /dev/vi*
如果没有,需要重新安装驱动;
cd camera_driver_dir
sudo make clean
make
sudo make
问题
Video stream image info
Image pixel : 1280 x 720
Pixel format : (hex : 56595559) - YUYV
Frame/Time : 30/1
videodev_init: Inappropriate ioctl for device
videodev_init: Inappropriate ioctl for device
[*Error*]Failure @ line 455 in function "create_vidcapture"
[*Error*]Failure @ line 75 in function "main"
出错的源码主要有video.cpp和test.cpp;
个人感觉主要是调用ioctl的过程有点问题。
$ grep -rns Inappropriate /
/opt/valgrind/coregrind/m_syscall.c:1169: case VKI_ENOTTY: return "Inappropriate ioctl for device";
问题没有解决,还没找到错误原因,桑心,有点丧。。。调试过程中觉得应该是调用camera的过程中的内存管理问题。
fun videodev_init
Error: VIDIOC_QUERYBUF failed...
Error: VIDIOC_QBUF failed...
camera driver...
另外,github上有说这个code只能运行大概2k张图片。。。
参考
1.YSQfastfd;
2.V4L2应用程序框架;
完