Changes

Jump to navigation Jump to search
Line 46: Line 46:  
[[File:Rpi github overview.jpg|alt=|center|thumb|626x626px|github 软件包概览]]
 
[[File:Rpi github overview.jpg|alt=|center|thumb|626x626px|github 软件包概览]]
   −
*软件包包括视频流软件包和视频控制软件包。i2c_cmd为视频控制接口软件包。视频流接口软件包有两个,veye_raspcam为raspcam类型,D_mipi_rpi提供了C语言的SDK并由C语言和python语言的demo。
+
*软件包包括视频流软件包和视频控制软件包。i2c_cmd为视频控制接口软件包。视频流接口软件包有两个,veye_raspcam为raspcam type工具集。D_mipi_rpi为D-SDK软件包,提供了C语言的SDK并由C语言和python语言的demo。
    
*视频流软件包提供实时显示、抓拍、录像等功能,视频控制软件包通过I2C协议控制摄像机模组,提供主要的ISP参数配置等功能。
 
*视频流软件包提供实时显示、抓拍、录像等功能,视频控制软件包通过I2C协议控制摄像机模组,提供主要的ISP参数配置等功能。
Line 54: Line 54:  
===视频流软件包使用===
 
===视频流软件包使用===
   −
==== raspicam type工具集 ====
+
====raspicam type工具集====
    
*veye_raspipreview
 
*veye_raspipreview
Line 74: Line 74:  
*veye_raspivid 网络传输(direct tcp stream with netcat)
 
*veye_raspivid 网络传输(direct tcp stream with netcat)
   −
''树莓派一侧执行''
+
'''''树莓派一侧执行'''''
    
<code>./veye_raspivid -b 4000000 -t 0 -o - | nc -l -p 5000</code>  
 
<code>./veye_raspivid -b 4000000 -t 0 -o - | nc -l -p 5000</code>  
Line 82: Line 82:  
电脑一侧,如为windows系统,建议使用powershell。
 
电脑一侧,如为windows系统,建议使用powershell。
   −
''电脑一侧使用gstreamer''
+
'''''电脑一侧使用gstreamer'''''
    
<code>./gst-launch-1.0 -v tcpclientsrc host=x.x.x.x port=5000 ! decodebin ! autovideosink</code>
 
<code>./gst-launch-1.0 -v tcpclientsrc host=x.x.x.x port=5000 ! decodebin ! autovideosink</code>
Line 90: Line 90:  
[https://gstreamer.freedesktop.org gstreamer]的windows版本[https://gstreamer.freedesktop.org/documentation/installing/on-windows.html?gi-language=c 下载地址]。只安装runtime files即可。
 
[https://gstreamer.freedesktop.org gstreamer]的windows版本[https://gstreamer.freedesktop.org/documentation/installing/on-windows.html?gi-language=c 下载地址]。只安装runtime files即可。
   −
''电脑一侧使用mplayer''
+
'''''电脑一侧使用mplayer'''''
    
<code>./mplayer -x 1280 -y 720 -geometry 0:0 -fps 200 -demuxer h264es -noborder ffmpeg://tcp://x.x.x.x:5000</code>
 
<code>./mplayer -x 1280 -y 720 -geometry 0:0 -fps 200 -demuxer h264es -noborder ffmpeg://tcp://x.x.x.x:5000</code>
Line 130: Line 130:  
实现间隔50ms抓拍一张bmp图片存储到/dev/shm目录(内存文件系统),持续1秒,然后客户可以导出并查看。
 
实现间隔50ms抓拍一张bmp图片存储到/dev/shm目录(内存文件系统),持续1秒,然后客户可以导出并查看。
   −
==== D-SDK软件包 ====
+
====D-SDK软件包====
<br />
+
提供了一个C语言的SDK库libdmipicam.so,以及基于这个库的C语言sample和python语言sample。
 +
 
 +
===== 安装底层支持库 =====
 +
<code>sudo apt-get update && sudo apt-get install libopencv-dev</code>
 +
 
 +
<code>sudo apt-get install python-opencv</code>
 +
 
 +
===== SDK =====
 +
 
 +
* 接口:
 +
 
 +
开放源码,详见D_mipicam.h
 +
 
 +
* 编译:
 +
 
 +
<code>./build</code>
 +
 
 +
* 安装:
 +
 
 +
<code>sudo install -m 644 ./libdmipicam.so /usr/lib/</code>
 +
 
 +
===== C sample =====
 +
 
 +
* preview
 +
 
 +
实现实时视频预览
 +
 
 +
* preview-dualcam
 +
 
 +
实现两路摄像头同时视频预览(RPI CM)
 +
 
 +
* video
 +
 
 +
视频压缩为H.264并保存为文件
 +
 
 +
* capture
 +
 
 +
抓拍一张jpeg图片
 +
 
 +
* video2stdout
 +
 
 +
视频压缩并输出到stdout为管道应用服务,如下命令,可达到与veye_raspivid命令类似的效果。
 +
 
 +
<code>./video2stdout | nc -l -p 5000</code>
 +
 
 +
* capture_yuv
 +
 
 +
抓拍一张YUV图片
 +
 
 +
* capture-dualcam
 +
 
 +
两路摄像头同时抓拍jpeg图片
 +
 
 +
* yuv_stream
 +
 
 +
导出yuv格式的原始数据
 +
 
 +
* capture2opencv
 +
 
 +
连续获取YUV数据并转为opencv格式,显示。
 +
 
 +
* qrcode_detection
 +
 
 +
连续抓拍YUV数据并转为opencv格式,显示,并进行二维码检测。
 +
 
 +
===== Python sample =====
 +
 
 +
* preview.py
 +
 
 +
实现实时视频预览
 +
 
 +
* capture.py
 +
 
 +
抓拍一张jpeg图片
 +
 
 +
* capture_yuv.py
 +
 
 +
抓拍一张yuv图片
 +
 
 +
* video.py
 +
 
 +
视频压缩为H.264并保存为文件
 +
 
 +
* capture2opencv.py
 +
 
 +
连续获取YUV数据并转为opencv格式,显示。
 
===视频控制软件包使用===
 
===视频控制软件包使用===
 
由于树莓派的I2C-0作为GPU所用,为了避免冲突,我们使用I2C-1作为控制总线。我们提供了一个脚本camera_i2c_config进行总线的管脚复用配置。
 
由于树莓派的I2C-0作为GPU所用,为了避免冲突,我们使用I2C-1作为控制总线。我们提供了一个脚本camera_i2c_config进行总线的管脚复用配置。

Navigation menu