我正在将我的代码(OpenCV本机C ++)导入到.Net环境的clr托管语言中。 我修复了所有不匹配的托管和非托管相关功能(例如字符串转换),除了一个问题。
当我在form.h头文件中使用<vector<Point> > contours;
时,出现两个错误:
1)C2872点在form.h中是不明确的
2)C3699'&&':不能在vector.h头文件中的'System :: Drawing :: Point'类型上使用此间接访问。
为此行vector<Vec4i> hierarchy;
使用向量很好,并且看来问题是与CLR托管语言不匹配的“点”。
如何使用'''vector'''来将“ contours”定义为“ findContours”功能。
谢谢您的提及。
vector<Vec4i> hierarchy;
vector<vector<Point> > contours0;
findContours(image2, contours0, hierarchy, RETR_EXTERNAL, CHAIN_APPROX_SIMPLE);
答案 0 :(得分:0)
我删除了 STD 和 CV 全局命名空间,并从 form.h 代码的第一个中保留了 System 及其分支命名空间。 它运作良好。 解决方案很简单,但它可能是一个大麻烦。 我真的很感激。