首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >OpenCV结构边缘检测器的模型文件

OpenCV结构边缘检测器的模型文件
EN

Stack Overflow用户
提问于 2015-10-24 10:30:07
回答 1查看 7.5K关注 0票数 11

OpenCV基于P. Dollár和C.Zitnick在“用于快速边缘检测的结构化森林”(2013年)中概述的基于随机森林的方法实现了StructuredEdgeDetection。作者已经发表了Matlab的一种实现一个用于Python,这两个版本都包含一个基于BSDS500数据集的预培训模型。

OpenCV实现似乎缺少一个经过预先培训的模型,而且我也无法了解它提供的唯一构造函数的格式:

Ptr<cv::StructuredEdgeDetection> createStructuredEdgeDetection(String model) 唯一可用的构造函数 参数:模型-模型文件名

这些文档也没有概述如何训练OpenCV实现,所以我完全没有意识到。

综上所述,如何使用OpenCV实现?有受过训练的模特吗?如果没有,如何使用OpenCV来训练一个人?

EN

Stack Overflow用户

回答已采纳

发布于 2015-10-24 13:07:50

您可以从这个模型 opencv_extra ximgproc测试数据中使用ximgproc

如果你想训练你自己的模型,你可以按照OpenCV教程上的说明。

图片:

边缘:

代码:

代码语言:javascript
复制
#include <opencv2\opencv.hpp>
#include <opencv2\ximgproc.hpp>

using namespace cv;
using namespace cv::ximgproc;

int main()
{
    Ptr<StructuredEdgeDetection> pDollar = createStructuredEdgeDetection("path_to_model.yml.gz");

    Mat3b src = imread("path_to_image");

    Mat3f fsrc;
    src.convertTo(fsrc, CV_32F, 1.0 / 255.0);

    Mat1f edges;
    pDollar->detectEdges(fsrc, edges);

    imshow("Image", src);
    imshow("Edges", edges);
    waitKey();

    return 0;
}
票数 16
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33317152

复制
相关文章

相似问题

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