首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >itk OtsuMultipleThresholdsImageFilter无法处理

itk OtsuMultipleThresholdsImageFilter无法处理
EN

Stack Overflow用户
提问于 2018-02-22 23:31:48
回答 1查看 64关注 0票数 1

我正尝试在一个项目中使用ITK的OtsuMultipleThresholdsImageFilter过滤器,但我没有输出。

我的目标是在OpenCV和ITK之间创建一个简单的接口。为了将我的数据从OpenCV的Mat容器转换到itk::Image,我使用ITK的桥到OpenCV,我可以检查数据是否正确地发送到ITK。我甚至能够显示感谢QuickView。

但是,当我设置受this示例启发的过滤器时,GetThresholds()方法返回的对象是空的。

下面是我写的代码:

代码语言:javascript
运行
复制
   typedef itk::Image<uchar,2> image_type;
    typedef itk::OtsuMultipleThresholdsImageFilter<image_type, image_type> filter_type;

    image_type::Pointer img = itk::OpenCVImageBridge::CVMatToITKImage<image_type>(src);

    image_type::SizeType size = img->GetLargestPossibleRegion().GetSize();

    filter_type::Pointer filter = filter_type::New();


    filter->SetInput(img);

    filter->SetNumberOfHistogramBins(256);
    filter->SetNumberOfThresholds(K);

    filter_type::ThresholdVectorType tmp = filter->GetThresholds();

    std::cout<<"CHECK: "<<tmp.size()<<std::endl;

src是OpenCV的Mat of CV_8U(C1)类型。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-22 23:36:46

使用ITK的一个基本概念是它是一个流水线架构。您必须连接输入和输出,然后更新管道。

您已连接管道,但尚未执行它。您必须调用filter->Update()

请阅读ITK软件指南以了解ITK的基本原理:https://itk.org/ItkSoftwareGuide.pdf

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

https://stackoverflow.com/questions/48931245

复制
相关文章

相似问题

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