前段时间我在 C++ 中使用过 ITK,现在我正在尝试在 C# 中使用简单的 itk。我查看了 MICCAI 2011 教程,我正在尝试开始。我使用的是 Windows 7 64 位机器和 Visual Studio Ultimate 2010。根据这个 wiki,我应该能够解压缩并将 .dll 引用到我的项目中,它应该可以工作。我可以将 SimpleITKCSharpManaged.dll 添加到我的参考资料中。但是我无法将 SimpleITKCSharpNative.dll 添加到我的引用中。它给了我错误:请确保文件是可访问的,并且它是有效的程序集或 COM 组件。
然后我尝试运行一个简单的控制台应用程序
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using itk.simple;
namespace TestSimpleItk
{
class Program
{
static void Main(string[] args)
{
string inputFilename = "001.png";
if (File.Exists(inputFilename))
{
try
{
var input = SimpleITK.ReadImage(inputFilename);
var binary = SimpleITK.BinaryThreshold(input, 100, 255, 255, 0);
SimpleITK.WriteImage(binary, "cthead1-binary.png");
}
catch (Exception ex)
{
Console.WriteLine("{0}", ex);
}
}
else
{
Console.WriteLine("File '{0}' does not exist", inputFilename);
}
}
}
}
抛出的异常是:{“'itk.simple.SimpleITKPINVOKE' 的类型初始化程序抛出异常。”} 内部异常是:{“尝试加载格式不正确的程序。(来自 HRESULT 的异常: 0x8007000B)"}
我尝试将 SimpleITKCSharpNative.dll 复制到我的 bin/debug 目录中,但仍然遇到相同的错误。
关于如何解决这个问题,或者如何在不使用 CMAKE 从源代码本地构建它的情况下启动并运行 SimpleItk 的任何想法?
谢谢