描述点位置的数据结构。hbVPStitch在对任务进行创建之前,需要准备hbVPPoint描述src源图在目标图上的位置,用于执行stitch任务。
成员
| 成员名称 | 描述 |
|---|---|
x | 左上角的坐标x。 |
y | 左上角的坐标y。 |
调用创建Stitch的alpha-blend lut表API。
alphaBlendLut 指向lut表信息的句柄,具有stitch的alpha-blend lut表信息,该参数必须指向nullptr。alphaDatas lut表的内存,由用户传入。alphaBlendRegions 在dst图层需要alpha-blend的区域坐标。单个roi的宽度最大支持2000,高度最大支持2000。alphaBlendRegionNum 在dst图层需要alpha-blend的区域个数。0 则表示API成功执行,否则执行失败。调用释放Stitch的alpha-blend lut表API。
alphaBlendLut 指向lut表信息的句柄。0 则表示API成功执行,否则执行失败。taskHandle 任务句柄,负责算子与UCP架构的交互。dstImg 输出图像。srcImgs 输入图像数组。dstPoses 输入图像在输出图像上的起点坐标数组,点的个数与顺序需要和输入图片一致。srcImgCount 输入图像的个数。alphaBlendLut 用于拼接的lut表信息。0 则表示API成功执行,否则执行失败。dstImg:type支持U8C1,format支持Y和nv12。dst图片的宽度最大支持4096,最小支持16;高度最大支持2160,最小支持2。宽度需要16字节对齐。srcImgs:type支持U8C1,format支持Y和nv12,且type和format需要与输出图像一致,最多支持四张输入图。src图片的宽度最大支持2000,最小支持16;高度最大支持2000,最小支持2。宽度需要16字节对齐。使用小于等于两张src图做拼接时:
1.pipline流程(src0—copy;src1-copy)
1). 首先会将src0贴到dst图层上。
2). 然后将src1贴到dst图层上。
3). 由于重叠区域不需要blend,重叠区域按照pipline顺序,由src1的区域进行覆盖。

2.pipline流程(src0—copy;src1-copy ;src0-src1-blend)
1). 首先会将src0贴到dst图层上。
2). 然后将src1贴到dst图层上。
3). 由于有重叠区域,且重叠区域需要进行blend操作,将重叠区域覆盖为src0和src1指定区域blend的结果。

使用大于两种src图做拼接时:
1.pipline流程(src0—copy;src1-copy;src2-copy;src0-src1-blend)
1). 首先会将src0贴到dst图层上。
2). 接着将src1贴到dst图层上。
3). 然后将src2贴到dst图层上。
4). 最后由于有重叠区域,且重叠区域需要进行blend操作,将重叠区域覆盖为src0和src1指定区域blend的结果。

2.pipline流程(src0—copy;src1-copy;src2-copy;src0-src1-blend;src0-src2-blend)
调用一次接口不支持,由于stitch是按pipline流程顺序刷新机制,做不到一次pipline完成三图融合结果展示(比如想重叠区域实现src0 20%,src1 30%,src2 50%拼接效果)内部有判断机制,会对上述场景进行拦截报错
正确做法(分为两个pipline执行):
pipline0流程(src0—copy;src1-copy ;src0-src1-blend)
1). 首先会将src0贴到dst图层上。
2). 接着将src1贴到dst图层上。
3). 最后由于有重叠区域,且重叠区域需要进行blend操作,将重叠区域覆盖为src0和src1指定区域blend的结果。

pipline1流程(src3-copy;src2-copy;src3-src2-blend)
1). 首先会将src3贴到dst图层上。
2). 接着会将src2贴到dst图层上。
3). src3与src2有重叠区域,且重叠区域需要进行blend操作,将重叠区域覆盖为src3和src2指定区域blend的结果。
