OpenDuckMini快速入门教程-测试相机

前提准备
- 本次教程中使用的相机为
picamera v2.1
搭配一条22pin转15pin的相机排线 - 相机连线参照图
操作步骤
- 接线后通电,检测相机是否存在
$ libcamera-hello
[0:08:31.340667824] [3617] INFO Camera camera_manager.cpp:326 libcamera v0.5.0+59-d83ff0a4
[0:08:31.408340272] [3620] WARN RPiSdn sdn.cpp:40 Using legacy SDN tuning - please consider moving SDN inside rpi.denoise
[0:08:31.414027929] [3620] INFO RPI vc4.cpp:447 Registered camera /base/soc/i2c0mux/i2c@1/imx219@10 to Unicam device /dev/media2 and ISP device /dev/media0
[0:08:31.414175741] [3620] INFO RPI pipeline_base.cpp:1121 Using configuration file '/usr/share/libcamera/pipeline/rpi/vc4/rpi_apps.yaml'
Preview window unavailable
Mode selection for 1640:1232:12:P
SRGGB10_CSI2P,640x480/0 - Score: 4504.81
SRGGB10_CSI2P,1640x1232/0 - Score: 1000
SRGGB10_CSI2P,1920x1080/0 - Score: 1541.48
SRGGB10_CSI2P,3280x2464/0 - Score: 1718
SRGGB8,640x480/0 - Score: 5504.81
SRGGB8,1640x1232/0 - Score: 2000
SRGGB8,1920x1080/0 - Score: 2541.48
SRGGB8,3280x2464/0 - Score: 2718
[0:08:31.418420585] [3617] INFO Camera camera.cpp:1205 configuring streams: (0) 1640x1232-YUV420 (1) 1640x1232-SBGGR10_CSI2P
[0:08:31.419223970] [3620] INFO RPI vc4.cpp:622 Sensor: /base/soc/i2c0mux/i2c@1/imx219@10 - Selected sensor format: 1640x1232-SBGGR10_1X10 - Selected unicam format: 1640x1232-pBAA
#0 (0.00 fps) exp 26956.00 ag 2.00 dg 1.03
#1 (30.01 fps) exp 28128.00 ag 2.00 dg 1.00
#2 (30.01 fps) exp 27901.00 ag 2.00 dg 1.01
#3 (30.00 fps) exp 27788.00 ag 2.00 dg 1.01
#4 (30.01 fps) exp 28090.00 ag 2.00 dg 1.00
#5 (30.00 fps) exp 27939.00 ag 2.00 dg 1.00
- 测试拍照,且保存名为
test.jpg
的文件到用户目录
$ libcamera-still -o test.jpg
[0:19:23.470726951] [7445] INFO Camera camera_manager.cpp:326 libcamera v0.5.0+59-d83ff0a4
[0:19:23.537755128] [7448] WARN RPiSdn sdn.cpp:40 Using legacy SDN tuning - please consider moving SDN inside rpi.denoise
[0:19:23.543350232] [7448] INFO RPI vc4.cpp:447 Registered camera /base/soc/i2c0mux/i2c@1/imx219@10 to Unicam device /dev/media2 and ISP device /dev/media0
[0:19:23.543576013] [7448] INFO RPI pipeline_base.cpp:1121 Using configuration file '/usr/share/libcamera/pipeline/rpi/vc4/rpi_apps.yaml'
Preview window unavailable
Mode selection for 1640:1232:12:P
SRGGB10_CSI2P,640x480/0 - Score: 4504.81
SRGGB10_CSI2P,1640x1232/0 - Score: 1000
SRGGB10_CSI2P,1920x1080/0 - Score: 1541.48
SRGGB10_CSI2P,3280x2464/0 - Score: 1718
SRGGB8,640x480/0 - Score: 5504.81
SRGGB8,1640x1232/0 - Score: 2000
SRGGB8,1920x1080/0 - Score: 2541.48
SRGGB8,3280x2464/0 - Score: 2718
[0:19:23.548796586] [7445] INFO Camera camera.cpp:1205 configuring streams: (0) 1640x1232-YUV420 (1) 1640x1232-SBGGR10_CSI2P
[0:19:23.549967680] [7448] INFO RPI vc4.cpp:622 Sensor: /base/soc/i2c0mux/i2c@1/imx219@10 - Selected sensor format: 1640x1232-SBGGR10_1X10 - Selected unicam format: 1640x1232-pBAA
#0 (0.00 fps) exp 29999.00 ag 3.71 dg 1.03
#1 (30.01 fps) exp 33251.00 ag 4.27 dg 1.00
#2 (30.00 fps) exp 29999.00 ag 3.76 dg 1.01
#3 (30.00 fps) exp 29999.00 ag 3.82 dg 1.00
#4 (30.01 fps) exp 29999.00 ag 3.76 dg 1.01
#5 (30.01 fps) exp 29999.00 ag 3.71 dg 1.01
#6 (30.01 fps) exp 29999.00 ag 3.71 dg 1.01
#7 (30.01 fps) exp 29999.00 ag 3.71 dg 1.01
#8 (30.01 fps) exp 29999.00 ag 3.71 dg 1.01
#9 (30.01 fps) exp 29999.00 ag 3.71 dg 1.01
#10 (30.00 fps) exp 29999.00 ag 3.71 dg 1.01
#11 (30.01 fps) exp 29999.00 ag 3.71 dg 1.01
#12 (30.01 fps) exp 29999.00 ag 3.71 dg 1.01
#13 (30.01 fps) exp 29999.00 ag 3.71 dg 1.01
#14 (30.01 fps) exp 29999.00 ag 3.71 dg 1.01
#15 (30.00 fps) exp 29999.00 ag 3.71 dg 1.01
#16 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#17 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#18 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#19 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#20 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#21 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#22 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#23 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#24 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#25 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#26 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#27 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#28 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#29 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#30 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#31 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#32 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#33 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#34 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#35 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#36 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#37 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#38 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#39 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#40 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#41 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#42 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#43 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#44 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#45 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#46 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#47 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#48 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#49 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#50 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#51 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#52 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#53 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#54 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#55 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#56 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#57 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#58 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#59 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#60 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#61 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#62 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#63 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#64 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#65 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#66 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#67 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#68 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#69 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#70 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#71 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#72 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#73 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#74 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#75 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#76 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#77 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#78 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#79 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#80 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#81 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#82 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#83 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#84 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#85 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#86 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#87 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#88 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#89 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#90 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#91 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#92 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#93 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#94 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#95 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#96 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#97 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#98 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#99 (30.00 fps) exp 29999.00 ag 3.66 dg 1.01
#100 (30.01 fps) exp 29999.00 ag 3.66 dg 1.01
#101 (30.00 fps) exp 29999.00 ag 3.66 dg 1.00
#102 (30.01 fps) exp 29999.00 ag 3.66 dg 1.00
#103 (30.01 fps) exp 29999.00 ag 3.66 dg 1.00
#104 (30.01 fps) exp 29999.00 ag 3.61 dg 1.01
#105 (30.01 fps) exp 29999.00 ag 3.61 dg 1.01
#106 (30.01 fps) exp 29999.00 ag 3.61 dg 1.01
#107 (30.01 fps) exp 29999.00 ag 3.61 dg 1.01
#108 (30.00 fps) exp 29999.00 ag 3.56 dg 1.01
#109 (30.01 fps) exp 29999.00 ag 3.56 dg 1.01
#110 (30.00 fps) exp 29999.00 ag 3.56 dg 1.01
#111 (30.01 fps) exp 29999.00 ag 3.56 dg 1.01
#112 (30.00 fps) exp 29999.00 ag 3.56 dg 1.01
#113 (30.01 fps) exp 29999.00 ag 3.56 dg 1.01
#114 (30.01 fps) exp 29999.00 ag 3.56 dg 1.01
#115 (30.00 fps) exp 29999.00 ag 3.56 dg 1.01
#116 (30.01 fps) exp 29999.00 ag 3.56 dg 1.01
#117 (30.01 fps) exp 29999.00 ag 3.56 dg 1.01
#118 (30.01 fps) exp 29999.00 ag 3.56 dg 1.01
#119 (30.01 fps) exp 29999.00 ag 3.56 dg 1.01
#120 (30.00 fps) exp 29999.00 ag 3.56 dg 1.01
#121 (30.00 fps) exp 29999.00 ag 3.56 dg 1.01
#122 (30.01 fps) exp 29999.00 ag 3.56 dg 1.01
#123 (30.01 fps) exp 29999.00 ag 3.56 dg 1.01
#124 (30.01 fps) exp 29999.00 ag 3.56 dg 1.01
#125 (30.00 fps) exp 29999.00 ag 3.56 dg 1.01
#126 (30.01 fps) exp 29999.00 ag 3.56 dg 1.01
#127 (30.00 fps) exp 29999.00 ag 3.56 dg 1.01
#128 (30.01 fps) exp 29999.00 ag 3.56 dg 1.01
#129 (30.00 fps) exp 29999.00 ag 3.56 dg 1.01
#130 (30.01 fps) exp 29999.00 ag 3.56 dg 1.01
#131 (30.01 fps) exp 29999.00 ag 3.56 dg 1.01
#132 (30.01 fps) exp 29999.00 ag 3.56 dg 1.01
#133 (30.00 fps) exp 29999.00 ag 3.56 dg 1.01
#134 (30.01 fps) exp 29999.00 ag 3.56 dg 1.01
#135 (30.01 fps) exp 29999.00 ag 3.56 dg 1.01
#136 (30.00 fps) exp 29999.00 ag 3.56 dg 1.01
#137 (30.01 fps) exp 29999.00 ag 3.56 dg 1.01
#138 (30.01 fps) exp 29999.00 ag 3.56 dg 1.01
#139 (30.00 fps) exp 29999.00 ag 3.56 dg 1.01
#140 (30.01 fps) exp 29999.00 ag 3.56 dg 1.01
#141 (30.00 fps) exp 29999.00 ag 3.56 dg 1.01
#142 (30.01 fps) exp 29999.00 ag 3.56 dg 1.01
Mode selection for 3280:2464:12:P
SRGGB10_CSI2P,640x480/0 - Score: 10248.8
SRGGB10_CSI2P,1640x1232/0 - Score: 6744
SRGGB10_CSI2P,1920x1080/0 - Score: 6655.48
SRGGB10_CSI2P,3280x2464/0 - Score: 1000
SRGGB8,640x480/0 - Score: 11248.8
SRGGB8,1640x1232/0 - Score: 7744
SRGGB8,1920x1080/0 - Score: 7655.48
SRGGB8,3280x2464/0 - Score: 2000
[0:19:28.684291272] [7445] INFO Camera camera.cpp:1205 configuring streams: (0) 3280x2464-YUV420 (1) 3280x2464-SBGGR10_CSI2P
[0:19:28.692565230] [7448] INFO RPI vc4.cpp:622 Sensor: /base/soc/i2c0mux/i2c@1/imx219@10 - Selected sensor format: 3280x2464-SBGGR10_1X10 - Selected unicam format: 3280x2464-pBAA
Still capture image received
- 但是由于在鸭子上的摄像头是逆时针旋转90度安装的,所以拍出来的相片是歪的
- 此时可以做一个简单旋转相片转换
- 先安装图像处理工具
$ sudo apt install imagemagick
- 通过命令行操作将图片顺时针旋转90度
$ convert test.jpg -rotate 90 test_rotated.jpg
- 新的
test_rotated.jpg
会同样生成到用户目录下
- 同样可使用鸭子源码自带的测试脚本
# 需要安装对应库
$ sudo apt install python3-picamzero
# 运行脚本测试
$ cd ~/open_duck_mini_ws/Open_Duck_Mini_Runtime/scripts
$ python python cam_test.py
- 正常情况下会在用户目录下生成一张
aoe.jpg
图片,如果没有生成,检查脚本中的用户目录地址是否有效
演示视频
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号