qn1550239705

qn1550239705

0个粉丝

2

问答

0

专栏

0

资料

qn1550239705  发布于  2019-05-07 15:32:29
采纳率 0%
2个问答
3785

请问如何用hi3516的vpss模块进行图像缩放?

 

本帖最后由 qn1550239705 于 2019-5-8 16:12 编辑

求教各位大神,如何用hi3516的vpss模块进行图像缩放,不胜感激~

目前已经成功调通摄像头,并默认输出1080p分辨率的图像,程序中有两处设置图像大小的地方,一处是HI_MPI_VPSS_CreateGrp,另一处是HI_MPI_VPSS_SetChnAttr。其中CreateGrp函数对应入参数VPSS_GRP_ATTR_S指针要设置maxH和maxW,此处我设置的是1920和1080。在HI_MPI_VPSS_SetChnAttr中,我尝试对入参VPSS_CHN_ATTR_S中的w和h设置为期望的分辨率。 结果报错: HI_MPI_VPSS_GetChnFrame failed with 0xa007800e!(图像队列为空)

在论坛上尝试搜索了一些用vpss缩放的解决方案(如:http://bbs.ebaina.com/forum.php?mod=viewthread&tid=18373&highlight=vpss),发现是都是用HI_MPI_VPSS_SetChnMode这个函数来设置输出图像大小的。但在hi3516中没有这个函数

另外在设置VPSS_GRP_ATTR_S和VPSS_CHN_ATTR_S之前已经用vb开辟了内存块。 vpss和vi的模式为:vi_offline_vpss_offline。vpss_chn_mode为VPSS_CHN_MODE_USER模式。

在已经成功调用默认分辨率视频流的基础上,用vpss设置图像缩放需要再额外配置其它函数吗,还是仅改某些参数就ok? 目前有一些调试思路但不确定方向对不对。 1.用vpss来缩放图像需要修改相应vb中的内存池大小,但目前不知道怎么改。:(

我来回答
回答5个
时间排序
认可量排序

qn1534489079

0个粉丝

12

问答

0

专栏

2

资料

qn1534489079 2019-05-14 10:10:53
认可0
可以cat /dev/logmpp看一下报错内容

924742206

0个粉丝

22

问答

0

专栏

0

资料

924742206 2019-05-14 11:19:44
认可0
你可以试试用vo进行缩放

M_chenyang

1个粉丝

14

问答

0

专栏

0

资料

M_chenyang 2019-05-17 11:50:04
认可0
        stVpssGrpAttr.u32MaxW = VIDOE_INPUT_MAX_WIDTH;
        stVpssGrpAttr.u32MaxH = VIDOE_INPUT_MAX_HEIGHT;
        stVpssGrpAttr.stFrameRate.s32SrcFrameRate = -1;
        stVpssGrpAttr.stFrameRate.s32DstFrameRate = -1;
        stVpssGrpAttr.enDynamicRange = DYNAMIC_RANGE_SDR8;
        stVpssGrpAttr.enPixelFormat  = PIXEL_FORMAT_YVU_SEMIPLANAR_420;
        stVpssGrpAttr.bNrEn   = HI_FALSE;
        memset(abChnEnable, 0, sizeof(abChnEnable));
        abChnEnable[0] = HI_TRUE;
        stVpssChnAttr[0].u32Width                    = width;
        stVpssChnAttr[0].u32Height                   = height;
        stVpssChnAttr[0].enChnMode                   = VPSS_CHN_MODE_USER;
        stVpssChnAttr[0].enCompressMode              = COMPRESS_MODE_NONE;
        stVpssChnAttr[0].enDynamicRange              = DYNAMIC_RANGE_SDR8;
        stVpssChnAttr[0].enPixelFormat               = PIXEL_FORMAT_YVU_SEMIPLANAR_420;
        stVpssChnAttr[0].stFrameRate.s32SrcFrameRate = -1;
        stVpssChnAttr[0].stFrameRate.s32DstFrameRate = -1;
        stVpssChnAttr[0].u32Depth                    = 5;
        stVpssChnAttr[0].bMirror                     = HI_FALSE;
        stVpssChnAttr[0].bFlip                       = HI_FALSE;
        stVpssChnAttr[0].stAspectRatio.enMode        = ASPECT_RATIO_NONE;
        stVpssChnAttr[0].enVideoFormat               = VIDEO_FORMAT_LINEAR;
这是我的VPSS配置参数,可参考一下。已经运用在项目里。

微信用户

0个粉丝

87

问答

0

专栏

3

资料

微信用户 2019-05-20 18:17:55
认可0
crop 的 可以的。

qn1550239705

0个粉丝

2

问答

0

专栏

0

资料

qn1550239705 2019-05-29 16:49:36
认可0
感谢各位~已经解决,我的解决方案是:需要再开一个通道1并将resize后的图像大小配置到通道1的属性里面,最后获取通道1的图像指针即可。
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区