首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在opencv2和opencv3中使用opencv3时的输出差异

在opencv2和opencv3中使用opencv3时的输出差异
EN

Stack Overflow用户
提问于 2018-01-08 19:31:19
回答 1查看 430关注 0票数 1

我使用完全相同的步骤来寻找图像的轮廓,但我在Opencv 2.4.8和Opencv 3.2中得到了两个不同的结果!有人知道为什么吗?以下是程序:

代码语言:javascript
复制
std::vector<std::vector<cv::Point> > contours;
    std::vector<cv::Vec4i> hierarchy;

    cv::imwrite("binImageInB.jpg", binImageIn);

    // find contour of the binary image 
    cv::findContours( binImageIn, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, cv::Point(0, 0) ); // Find the contours in the image   // save

    cv::imwrite("binImageIn.jpg", binImageIn);

输入图像是:

使用opencv 2.4.8时的输出:

以及使用Opencv3.2时的输出:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-08 22:41:56

2.4.x文件提到:

注意:源图像是由这个函数修改的。

3.3.1文件提到:

由于opencv 3.2源映像不被此函数修改。

通常,您使用contourshierarchy输出参数。由于以后的版本不再修改输入映像,所以我认为这是一个副作用,而这并不是有意要做的。

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

https://stackoverflow.com/questions/48156931

复制
相关文章

相似问题

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