Itk OtsumultiplethresholdsimageFilter没有处理
itk OtsuMultipleThresholdsImageFilter does not process
我试图在项目中使用ITK的OtsumultiplipthresholdsimageFilter滤波器,但我没有输出。
我的目的是在OpenCV和ITK之间建立一个简单的接口。要将我的数据从OpenCV的垫子容器转换为ITK :: Image我使用ITK的桥梁到OpenCV,我可以检查数据是否正确发送到ITK。我什至可以感谢QuickView。
但是,当我设置为示例启发的过滤器时,方法GetThresholds()
返回的对象为空。
这是我写的代码:
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的cv_8u(c1(类型。
使用ITK的基本概念是它是管道架构。您必须连接输入和输出,然后更新管道。
您已经连接了管道,但是您尚未执行它。您必须致电filter->Update()
。
请阅读ITK软件指南,以了解ITK的基础知识:https://itk.org/itksoftwareguide.pdf
相关文章:
- 警告处理为错误这里有什么问题
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 处理多个异常集合的C++方法
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 使用流处理接收到的数据
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 基于多个条件处理地图中的所有元素
- 如何用数字处理log(0)
- SSL上的`curl_easy_send`和`curl_asy_recv`:如何处理`CURLE_AGAIN`
- 错误处理.将系统错误代码映射到泛型
- 从文本文件中读取时钟时间和事件时间并进行处理
- 在运行时处理类型擦除的数据-如何不重新发明轮子
- 在for循环中使用auto vs decltype(vec.size())来处理字符串的向量
- 用于矢量处理的多个线程
- 对字符串进行排序时,在c++中处理sort()
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- 处理除以零会导致<csignal>意外行为
- 是否可以在c++中处理字符串流中的各个元素
- 在多个核心中处理一个HTTP请求