给定图像上的一组点,我想检测对齐点的组,如图所示:

我怎样才能做到这一点?任何帮助将不胜感激.
我在CPP中使用ITK编写了一个类,它读取目录中的所有文件然后对它们进行平均.我想在使用Python构建的管道中使用此类.
我之前曾尝试使用Swig来包装模板代码,但根据swig文档,它没有模板支持,并且需要明确指定类型名称.但是当我在Python中使用ITK时,界面与我对Swig生成的模板代码的期望非常不同(类型名称根本没有在函数/类名中指定,这与Swig文档所说的相反).
我的代码中的一个小片段说明了该类的用法如下所示:
typedef unsigned char PixelType;
typedef itk::Image<PixelType, 2> ImageType;
typedef itk::NaryMeanImageFilter< ImageType, ImageType > FilterType; // custom class
typedef itk::ImageFileReader<ImageType> ReaderType;
typedef itk::ImageFileWriter<ImageType> WriterType;
ImageType::Pointer image = ImageType::New();
ReaderType::Pointer reader = ReaderType::New();
WriterType::Pointer writer = WriterType::New();
FilterType::Pointer filter = FilterType::New(); // custom class
for (unsigned int i = 0; i< fileNames.size(); ++i)
{
reader->SetFileName(fileNames[i]);
filter->SetInput(i, reader->GetOutput()); // custom class
}
writer->SetFileName(outName);
writer->SetInput(filter->GetOutput());
writer->Update();
Run Code Online (Sandbox Code Playgroud)
可以在Git存储库中看到该类的代码.我没有使用Boost :: Python增加项目依赖性的问题,但我需要一个起点继续.任何帮助将非常感激.
谢谢.
更新:
Python中的预期用法是,
readerType=itk.ImageFileReader[inputImageType] …Run Code Online (Sandbox Code Playgroud) 我想以跨平台的方式从我的程序创建到我的数据的符号链接。对于 *nix 系统,有符号链接。对于Windows,我从这个答案中找到了函数CreateSymbolicLink,并且我以这种方式运行它:
int test = CreateSymbolicLink(input_fileName.c_str(), ouput_fileName.c_str(), 0);
Run Code Online (Sandbox Code Playgroud)
但test总是返回0,这意味着函数失败(并且 中指定的文件output_fileName确实不存在)。我究竟做错了什么?
提前致谢!
更新:
我在上述调用之后立即运行了GetLastError :
DWORD err = GetLastError();
Run Code Online (Sandbox Code Playgroud)
和err = 1314。谢谢@大卫
更新2:
根据@David的回复,Windows不允许非管理员创建软链接。如果 Win API 的未来迭代会改变这一点,我将继续提问。然后我会更新答案。截至 2015 年 3 月 26 日,@David 的回答是正确的。