我在“itk::image::Pointer salida”中有一个图像。我已检查它是否具有正确的像素值。我想将图像保存到文件中,但在最后一行,它给了我一个异常,现在我不知道该怎么办:
// Saving the result into a file
salida = ui.imageframe->imagereader;
writer = itk::ImageFileWriter<ImageType>::New();
writer->SetInput( salida ) ;
writer->SetFileName ( "output.jpeg");
writer->Update();// ---> EXCEPTION!!
xmtx.c 文件出现异常(VC++ 的互斥[互斥] 支持), 它转到这部分代码的最后一行:
_RELIABILITY_CONTRACT
void __CLRCALL_PURE_OR_CDECL _Mtxlock(_Rmtx *_Mtx)
{ /* lock mutex */
#ifdef _M_CEE
System::Threading::Thread::BeginThreadAffinity();
#endif
EnterCriticalSection(_Mtx);
}
大家有没有遇到过同样的问题?有修复它的提示吗?
提前致谢
安东尼奥·戈麦斯·巴克罗
最佳答案
try catch 异常并查看它包含什么。我不熟悉 itk,但查看 API,以下应该可以工作:
try
{
writer->Update();
}
catch( itk::ExceptionObject& ex )
{
qDebug() << ex.what();
}
这应该会引导您找到异常的来源。
关于c++ - 执行 itk::writertype 的 update() 时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7413530/