首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenVX warpAffine是否接受转置矩阵,以及它是如何定义为行主语的?

OpenVX warpAffine是否接受转置矩阵,以及它是如何定义为行主语的?
EN

Stack Overflow用户
提问于 2021-08-31 07:52:11
回答 1查看 44关注 0票数 0

我是OpenVX新手,从文档中了解到OpenVX使用行主存储器。下面的矩阵访问示例说明了这一点,就像我们在普通C代码中使用的普通行主访问模式一样。

然后我转到矩阵vxCreateMatrix文档页面。前者的声明如下:

VX_MATRIX_ROWS -矩阵REQ-1131的M维数.只读REQ-1132。使用vx_size参数。VX_MATRIX_COLUMNS -矩阵REQ-1133的N维.只读REQ-1134。使用vx_size参数。

后者说:

代码语言:javascript
复制
vx_matrix vxCreateMatrix(
    vx_context                                  c,
    vx_enum                                     data_type,
    vx_size                                     columns,
    vx_size                                     rows);

根据我的理解,在OpenVX世界里,当我说MxN矩阵时,M是指行大小,N是指列大小。vxCreateMatrix声明遵循行主存储器的话,首先是参数column,然后是row

然而,当我到达经纱仿射页面时,我真的很困惑,它说:

该内核使用像素坐标转换方法REQ-0498对2x3矩阵M执行仿射变换:

和C声明:

代码语言:javascript
复制
// x0 = a x + b y + c;
// y0 = d x + e y + f;
vx_float32 mat[3][2] = {
    {a, d}, // 'x' coefficients
    {b, e}, // 'y' coefficients
    {c, f}, // 'offsets'
};
vx_matrix matrix = vxCreateMatrix(context, VX_TYPE_FLOAT32, 2, 3);
vxCopyMatrix(matrix, mat, VX_WRITE_ONLY, VX_MEMORY_TYPE_HOST);

如果M是一个2x3矩阵,根据前面的部分,它应该有2行3列。那么为什么要将其声明为mat[3][2],而createMatrix则接受column=2row=3作为参数?我的理解完全错了吗?

EN

回答 1

Stack Overflow用户

发布于 2021-09-15 12:13:59

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68994869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档