完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
您好,使用26(MJPEG)格式:chnAttr1 = ChnAttrStr(26, encoder1.H264_PROFILE_MAIN, width, height)
能明显感觉到像素的颗粒感,请问如何解决? def thread_camera_enter(name): width=1280 height=720 width = ALIGN_UP(width, 16) # 初始化sensor sensor1 = Sensor(id=0, fps=30) sensor1.reset() sensor2 = Sensor(id=1, fps=30) sensor2.reset() sensor3 = Sensor(id=2, fps=30) sensor3.reset() # 设置camera 输出buffer sensor1.set_framesize(width = width, height = height, alignment=12) sensor1.set_pixformat(Sensor.YUV420SP) sensor2.set_framesize(width = width, height = height, alignment=12) sensor2.set_pixformat(Sensor.YUV420SP) sensor3.set_framesize(width = width, height = height, alignment=12) sensor3.set_pixformat(Sensor.YUV420SP) # 实例化video encoder encoder1 = Encoder() encoder1.SetOutBufs(VENC_CHN_ID_0, 8, width, height) encoder2 = Encoder() encoder2.SetOutBufs(VENC_CHN_ID_1, 8, width, height) encoder3 = Encoder() encoder3.SetOutBufs(VENC_CHN_ID_2, 8, width, height) # 绑定camera和venc link1 = MediaManager.link(sensor1.bind_info()['src'], (VIDEO_ENCODE_MOD_ID, VENC_DEV_ID, VENC_CHN_ID_0)) link2 = MediaManager.link(sensor2.bind_info()['src'], (VIDEO_ENCODE_MOD_ID, VENC_DEV_ID, VENC_CHN_ID_1)) link3 = MediaManager.link(sensor3.bind_info()['src'], (VIDEO_ENCODE_MOD_ID, VENC_DEV_ID, VENC_CHN_ID_2)) # init media manager MediaManager.init() chnAttr1 = ChnAttrStr(26, encoder1.H264_PROFILE_MAIN, width, height) chnAttr2 = ChnAttrStr(26, encoder2.H264_PROFILE_MAIN, width, height) chnAttr3 = ChnAttrStr(26, encoder3.H264_PROFILE_MAIN, width, height) streamData1 = StreamData() streamData2 = StreamData() streamData3 = StreamData() # 创建编码器 encoder1.Create(VENC_CHN_ID_0, chnAttr1) encoder2.Create(VENC_CHN_ID_1, chnAttr2) encoder3.Create(VENC_CHN_ID_2, chnAttr3) # 开始编码 encoder1.Start(VENC_CHN_ID_0) encoder2.Start(VENC_CHN_ID_1) encoder3.Start(VENC_CHN_ID_2) print("start encoder init ok") # 配置网络传输通道 # 启动camera sensor1.run() sensor2.run() sensor3.run() print("sensor run ...") switch = 1 frame_count = 0 while (True): os.exitpoint() encoder1.GetStream(VENC_CHN_ID_0, streamData1) # 获取一帧码流 for pack_idx in range(0, streamData1.pack_cnt): if (switch == 1): stream_data = bytes(uctypes.bytearray_at(streamData1.data[pack_idx], streamData1.data_size[pack_idx])) network_camera.send(stream_data, 1) print("camera1", len(stream_data)); encoder1.ReleaseStream(VENC_CHN_ID_0, streamData1) # 释放一帧码流 encoder2.GetStream(VENC_CHN_ID_1, streamData2) # 获取一帧码流 for pack_idx in range(0, streamData2.pack_cnt): if (switch == 2): stream_data = bytes(uctypes.bytearray_at(streamData2.data[pack_idx], streamData2.data_size[pack_idx])) network_camera.send(stream_data, 2) print("camera2", len(stream_data)); encoder2.ReleaseStream(VENC_CHN_ID_1, streamData2) # 释放一帧码流 encoder3.GetStream(VENC_CHN_ID_2, streamData3) # 获取一帧码流 for pack_idx in range(0, streamData3.pack_cnt): if (switch == 3): stream_data = bytes(uctypes.bytearray_at(streamData3.data[pack_idx], streamData3.data_size[pack_idx])) network_camera.send(stream_data, 3) print("camera3", len(stream_data)); encoder3.ReleaseStream(VENC_CHN_ID_2, streamData3) # 释放一帧码流 frame_count += 1 if (frame_count >= 10): frame_count = 0 switch += 1 if (switch > 3): switch = 1;补充材料 您好,请先下载最新固件后再尝试:请获取最新固件(https://github.com/kendryte/canmv_k230/releases/tag/PreRelease )。新版本中新增了 JPEG 图像编码控制功能。 若要使用 JPEG 编码功能,请在创建编码器时指定 PAYLOAD_TYPE_JPEG 类型。若默认输出质量无法满足需求,您可以通过修改 ChnAttrStr 结构体中的 mjpeg_quality_factor 参数(取值范围 1-100,数值越大质量越高)进行精细化调整。 |
|
相关推荐
1个回答
|
|
|
您的代码使用MJPEG格式获取视频流时出现像素颗粒感的问题,这通常与MJPEG压缩质量和图像处理参数有关。以下是针对性解决方案: 1. 提高MJPEG压缩质量(关键步骤)在CanMV中,MJPEG的质量参数需通过编码器属性设置。修改您的通道属性设置: 如果API不支持直接添加,尝试单独设置编码器质量: 2. 优化传感器配置在 3. 检查分辨率支持确保传感器实际支持1280x720: 4. 码率控制适当提高MJPEG码率限制: 5. 启用硬件预处理在通道属性中启用ISP处理: 完整修改建议其他注意事项:
通过上述调整应能显著改善颗粒感问题,建议从质量参数(85+)和降噪设置开始逐步优化。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
AI_cube训练模型得到了npy文件,没有kmodel文件
772 浏览 0 评论
请问K230 V3.0版本烧录固件和使用IDE到底是烧录哪个啊?
739 浏览 0 评论
443浏览 4评论
AI Cube进行yolov8n模型训练,创建项目目标检测时显示数据集目录下存在除标注和图片外的其他目录如何处理?
463浏览 3评论
autodl算力云在.pt转换onnx文件时正常,但onnx转.kmodel文件时报错,为什么?
552浏览 2评论
如何在大核rtt上把kd_mpi_vicap_start_stream三个摄像头各自出的流拼成一个流呢?
166浏览 2评论
565浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-3 02:33 , Processed in 0.608565 second(s), Total 43, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
436
