我正在尝试使用Simple-itk托管的dll在.bmp图像上应用CannyEdgeDetectionImageFilter.
这是我的代码:
itk.simple.Image image1= SimpleITK.ReadImage("Input.bmp");
ImageFileReader read = new ImageFileReader();
read.SetFileName("Input.bmp");
read.Execute();
CannyEdgeDetectionImageFilter canny = new CannyEdgeDetectionImageFilter();
itk.simple.Image image2= canny.Execute(image1);//I got below exception here.
ImageFileWriter write = new ImageFileWriter();
write.SetFileName("Output.bmp");
write.Execute(image2,"Output.bmp", true);
Run Code Online (Sandbox Code Playgroud)
我在执行CannyEdgeDetectionImageFilter时遇到了这个异常.
sitk ::错误:像素类型:2D byclass itk :: simple :: CannyEdgeDetectionImageFilter不支持8位无符号整数向量
如何将这个不受支持的东西投射到simpleitk支持的东西?
这是对我的代码的一些补充.我试图将8位无符号整数的向量转换为支持的整数,但是在这里我没有做到这一点.
CastImageFilter cast = new CastImageFilter();
PixelIDValueEnum p= cast.GetOutputPixelType();
image1= SimpleITK.Cast(image1, p);//I got below exception here.
Run Code Online (Sandbox Code Playgroud)
sitk ::错误:过滤器不支持从8位无符号整数的转换向量转换为32位浮点数
我还能做些什么来处理这段代码吗?
任何帮助表示赞赏.