Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add example for uvc streamer #93

Merged
merged 3 commits into from
Dec 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions examples/vision/streaming/uvc_stream.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
from maix import camera, display, app, time, uvc

cam = camera.Camera(640, 360) # Manually set resolution
# | 手动设置分辨率
# disp = display.Display() # MaixCAM default is 522x368
# | MaixCAM 默认是 522x368

uvcs = uvc.UvcStreamer(0)
# uvcs.use_mjpg(1) for mjpg or yuyv default without it
# uvcs.use_mjpg(1) 是为了刷 mjpg 通道,不添加这一行默认是 yuyv 通道
uvcs.use_mjpg(1)

while not app.need_exit():
# time.fps_start() # Manually set fps calculation start point, comment here mean last time fps() call is start
# | 动设置帧率(FPS)计算开始点,这里注释了表示上一次 fps 函数即是开始
img = cam.read() # Get one frame from camera, img is maix.image.Image type object
# | 从摄像头获取一帧图像,img 是 maix.image.Image 类型的对象
# disp.show(img) # Show image to screen
# | 将图像显示到屏幕
uvcs.show(img)

fps = time.fps() # Calculate FPS between last time fps() call and this time call.
# | 计算两次 fps 函数调用之间的帧率
print(f"time: {1000/fps:.02f}ms, fps: {fps:.02f}") # print FPS in console
# | 在终端打印帧率(FPS)

2 changes: 1 addition & 1 deletion tools/os/gen_os.sh
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ cp -r "tmp/sys_builtin_files/boot/boards" "tmp/sys_builtin_files/maixapp/"
./update_img.sh tmp/sys_builtin_files "tmp/$os_version_str.img"

# 9. xz 压缩镜像
xz -zv "tmp/$os_version_str.img"
xz -zv -T 0 "tmp/$os_version_str.img"

echo "Complete: os file: tmp/$os_version_str.img.xz"

Expand Down
5 changes: 4 additions & 1 deletion tools/os/update_img.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#!/bin/sh

set -e
set -o pipefail

source_dir=$1
img_file=$2
Expand Down Expand Up @@ -34,7 +35,9 @@ $THISDIR/fuse2fs -o fakeroot -o offset=$PART_OFFSET $img_file $mount_root

# copy root files
echo "copy root files now"
find $source_dir -mindepth 1 -maxdepth 1 -type d ! -name "boot" -exec cp -r {} $mount_root \;
find $source_dir -mindepth 1 -maxdepth 1 -type d ! -name "boot" | while read -r dir; do
cp -r "$dir" "$mount_root"
done
sync
echo "copy root files done"

Expand Down
Loading