之前在64位操作系统上,直接使用 sudo vim /etc/fstab 加上USB 外接的硬盘就可以了,但在32位系统上,不知道为什么,行不通。所以,使用了如下的办法:
sudo vim /etc/rc.local
在最后 exit 0 之前
加入
sleep 20
sudo mount /dev/sda1 /media/pi -o uid=1000,gid=1000
重启,等20秒,然后就可以了
一个无聊和记录一些东西的博客
之前在64位操作系统上,直接使用 sudo vim /etc/fstab 加上USB 外接的硬盘就可以了,但在32位系统上,不知道为什么,行不通。所以,使用了如下的办法:
sudo vim /etc/rc.local
在最后 exit 0 之前
加入
sleep 20
sudo mount /dev/sda1 /media/pi -o uid=1000,gid=1000
重启,等20秒,然后就可以了
从官网上下可以下载到的官方系统有32位和64位两个版本,但因为对应硬件的库 mmal 只有32 位版本,这么导致最终在编译ffmpeg 或其他程序时,无法找到对应版本的mmal 库 。所以,在安装操作系统时如考虑需要使用视频硬件编码/解码,就必须使用32位版本的操作系统。
sudo apt install pptp-linux 安装 pptp-linux 包
运行 sudo pptpsetup –create 连接名称 –server 服务器IP –username 用户名 –password 密码 –encrypt –start
即可建立连接,之后使用sudo pon 和sudo poff 就可以启动和关闭连接。
之前一直有这个问题,但没有解决。最近查到文档,并不是编译参数的原因,而是因为系统没有sdl2 的依赖库。configure 时找不到这个依赖库,所以没有编译出来ffplay 了。树莓派添加sdl2 的方法是
sudo apt-get install libstdl1.2-dev
之后再 configure 就可以看到包含了 ffplay 了
树莓派官方操作系统 64位版,通过自行编译 ffmpeg 添加引用,可以使用树莓派自带的硬件进行视频硬件编码、解码。
./configure –extra-cflags=”-I/usr/local/include” –extra-ldflags=”-L/usr/local/lib” –extra-libs=”-lpthread -lm -latomic” –arch=armel –enable-gmp –enable-gpl –enable-libaom –enable-libass –enable-libdav1d –enable-libfdk-aac –enable-libfreetype –enable-libkvazaar –enable-libmp3lame –enable-libopencore-amrnb –enable-libopencore-amrwb –enable-libopus –enable-librtmp –enable-libsnappy –enable-libsoxr –enable-libssh –enable-libvorbis –enable-libvpx –enable-libzimg –enable-libwebp –enable-libx264 –enable-libx265 –enable-libxml2 –enable-nonfree –enable-omx –enable-omx-rpi –enable-version3 –enable-pthreads –enable-openssl –enable-hardcoded-tables –prefix=/usr/local/ffmpeg –enable-static –enable-shared –arch=aarch64 –target-os=linux –enable-ffplay
make -j4
sudo make install
后记,根据文档,应该可以使用–enable-mmal 参数开启博通的硬件编解码支持,但因为使用了最新的64位版官方操作系统,而 mmal 库默认没有64 位版,虽然偿试了用 github 上的 userland 的源码自行编译,但不成功。所以只能暂时这样使用了。
raspberry pi 3B+ 在安装openvino 时需要编译opencv
其间首先需要先安装如何依赖库
sudo apt install build-essential libclang-11-dev clang-11 clang-format-9 libssl-dev
sudo apt install git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libatlas-base-dev python3-scipy
然后使用如下 configure 参数
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..
然后就是 make
这里有个坑,因为raspberry pi 3b+ 只有1G内存,而编译opencv 在某个库需要超过1G内存,差不多达到2G的内存需求,而raspberry OS 默认只有100 M 的虚拟内存,所以会因为内存不足导致卡死,这里需要修改虚拟内存大小,最好加到4G 来保存编译通过
sudo dphys-swapfile swapoff
sudo vim /etc/dphys-swapfile
CONF_SWAPSIZE=4096
下面哪个MAX也需要改到4096
sudo dphys-swapfile setup
sudo reboot
查了google ,问了chatGPT 以为万无一失了。根据chatGPT的提示打开了Intel 关于在Raspberry pi 上安装 OpenVINO的官网,然后再接照官网的说明一步一步执行完成各安装脚本命令,但在python 中运行
只有CPU ,真是日了狗了。
然后翻查了各个外国文档,然后找到,尼玛,官网的openVINO没有Raspberry pi 的插件所以不使用官网的这个版本的openVINO只有CPU,fuck。然后必须要使用从github上下载的源码编译才能生成出有Raspberry Pi 插件的版本。
1英寸等于16mm ,但不能适用所有的尺寸,小于1/2英寸的CIS,则要用1英寸等于18mm来换算。比如索尼1/2.8 的IMX415 对角线长度为6.43mm,英1英寸等于18mm则刚好。所以对于海康等监控摄像头,使用1英寸等于18mm来计算对角线尺寸,然后再通过4:3 的比例计算物理的长宽尺寸。
18*1/2.8=6.429mm
4x*4x+3x*3x=6.429*6.429
按4:3,则长为5.143mm,则像元为5.143/1920=2.68um
首先需要先在库文件的工程定义extern “c”
因为服务器所在网络环境原因,不得不需要离线安装python 依赖包
使用如下方法,只下载需要的依赖包:
python -m pip download -r requirements.txt -d 目录
这方法会自动下载依赖包的依赖包,然后整个打包到目标服务器,然后在解压包所在目录运行
python -m pip install –no-index –find-links=目录名 -r requirements.txt
完成