您的位置:首页 > 运维架构

OpenCV中关于InputArray、InputArrayOfArrays使用的注意事项

2016-08-23 09:10 537 查看
分享一个今天使用opencv时遇到函数形参为InputArrayOfArrays类型的调试过程。

1. 今天写程序使用到fillPoly()函数,声明如下:



2. 然后看了一下InputArrayOfArrays原来是InputArray,(如下图)



3. 然后再在doc文档里看了一下_InputArray的构造函数,发现可以用vector,(如下图)



4. 这样就好办了,直接在fillPoly()的第二个参数里,用了一个vector,(如下图)





5. 这样写完之后,编译通过,运行会出错,调试代码跟进fillPoly(),发现出错在这里,(如下图)



即如果是一个简单的vector类型,在这一步会出错。

6. 一番周折后发现,再看doc里_InputArray的构造函数,(如下图)



7. 再想想其类的名称,InputArrayOfArrays,数组的数组嘛,所以把原来的参数vector外边又填了一层vector,如下



8. 运行成功。

经验:Opencv里一个类型会起很多个别名,一定程度上这是很有意义。如上述问题其构造函数可以用vector作为参数,也可以使用vector
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: