6273
- 收藏
- 点赞
- 分享
- 举报
如何获取vpss chn的图像修改后发送至vo
悬赏金¥ 50
已结题
getframe的接口有两个:mpi_vpss_get_grp_frame和mpi_vpss_get_chn_frame,经过测试前者获取的是vpss的源图像,后者获取的是通道输出的图像,在SDK的mpp/tools下分别有对应的两个sample:vpss_src_dump.c和vpss_chn_dump.c,我在此基础上进行修改,加入cpu上的算法处理后mpi_vo_send_frame发送至vo chn1显示(chn0显示原图像):
vi->vpss-vo(chn0 chn1)
使用mpi_vpss_get_grp_frame时vo能够正常显示处理后的图像,但使用mpi_vpss_get_chn_frame时候vo显示的还是原图像,打印算法处理前后虚拟地址的像素点值确实被改变了,不知道原因为啥vo_send_frame过去的还是原图像,就像在虚拟地址上对图像的改动没有映射到物理地址上似的。
有人知道两种get frame的方式在需要重新send frame的情况下有什么使用上的不同么?
// user insert opencv process
//------------------------------------------------------------------------
printf("before %d %d\n", *(g_user_page_addr[0]), *(g_user_page_addr[1]));
cv::Mat mat_Y(frame->height, frame->width, CV_8UC1, g_user_page_addr[0]);
cv::Mat mat_UV(uv_height, frame->width, CV_8UC1, g_user_page_addr[1]);
cv::Mat mat_YUV;
cv::Mat mat_list[] = {mat_Y, mat_UV};
cv::vconcat(mat_list, 2, mat_YUV);
cv::Mat mat_RGB = cv::Mat(frame->height, frame->width, CV_8UC3);
cv::cvtColor(mat_YUV, mat_RGB, cv::COLOR_YUV2RGB_YV12);
printf("%d %d\n", mat_RGB.rows, mat_RGB.cols);
cv::flip(mat_RGB, mat_RGB, 1);
cv::cvtColor(mat_RGB, mat_YUV, cv::COLOR_RGB2YUV_YV12);
mat_YUV(cv::Range(0, frame->height),
cv::Range(0, mat_YUV.cols)).copyTo(mat_Y);
mat_YUV(cv::Range(frame->height, frame->height + uv_height),
cv::Range(0, mat_YUV.cols)).copyTo(mat_UV);
printf("after %d %d\n", *(g_user_page_addr[0]), *(g_user_page_addr[1]));
//------------------------------------------------------------------------
//user
const td_s32 milli_sec = -1;
ss_mpi_vo_send_frame(0, 1, &g_frame, milli_sec);
文件: vpss_src_dump.c
下载
文件: vpss_chn_dump.c
下载
我来回答
回答14个
时间排序
认可量排序
认可0
认可0
认可0
认可0
认可1
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片
相关问答
-
2016-04-07 15:28:05
-
2019-03-26 16:25:04
-
2019-08-02 17:08:44
-
2023-10-18 14:11:10
-
2025-10-15 17:23:25
-
2020-07-21 18:05:59
-
2019-11-25 18:36:13
-
2020-06-08 16:25:37
-
2020-06-08 15:31:47
-
32017-12-13 17:34:51
-
2022-11-02 20:17:05
-
2020-05-11 15:28:32
-
2015-05-30 17:21:40
-
52015-07-17 15:47:28
-
2025-03-20 11:41:03
-
2016-11-11 10:40:53
-
2020-04-03 10:30:30
-
2025-01-06 18:27:15
-
2021-07-29 11:58:34
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
最佳回答
被评为最佳回答,即可获得50元悬赏金额,先回答帮助题主解决问题,会更具优势
悬赏问答
-
5hisi3516cv610 + gc4336p 夜晚很模糊
-
5AIISP(功能演示,SC4336P为BGGR,强制转RGGB,会导致颜色异常)
-
5rv1106使用luckfox的SDK,设备树和驱动都写好了,结果设备文件没有生成
-
5海思3516cv610中如何进行SD卡升级,根据官方文档操作,烧录进板子时,走的默认uboot,没有执行uboot升级。
-
5G610Q-IPC-38E 夜晚很暗 有什么办法解决吗 已经补光了
-
10转换模型时,SoC版本里没显示hi3516cv610芯片
-
5hisi3516cv610 使用 yolov8n 模型训练 要如何提高 这里识别的是人
-
10有人在海思平台接过SC035HGS吗
-
5关于hi3519dv500,以SD卡虚拟 U 盘操作
-
5ss928 sample_venc代码移植到openEuler24.03上执行报错 [sample_comm_vi_start_dev]-1068: vi set dev attr failed wi
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认

微信扫码分享
QQ好友