Я пытаюсь применить CannyEdgeDetectionImageFilter к изображению .bmp с помощью DLL, управляемой Simple-itk.
вот мой код:
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);
Я получил это исключение при выполнении CannyEdgeDetectionImageFilter.
sitk :: ERROR: Тип пикселя: вектор 8-битного целого числа без знака не поддерживается в 2D byclass itk :: simple :: CannyEdgeDetectionImageFilter
Как я могу поместить эту неподдерживаемую вещь в поддерживаемую для simpleitk?
вот некоторые дополнения к моему коду. Я попытался преобразовать вектор 8-битного целого числа без знака в поддерживаемый, но здесь я не могу этого сделать.
CastImageFilter cast = new CastImageFilter();
PixelIDValueEnum p= cast.GetOutputPixelType();
image1= SimpleITK.Cast(image1, p);//I got below exception here.
sitk :: ERROR: фильтр не поддерживает преобразование из вектора преобразования 8-битного целого числа без знака в 32-битное число с плавающей запятой.
Могу ли я еще что-нибудь сделать для работы с этим кодом?
Любая помощь приветствуется.