2

「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);
}

同じ問題を抱えている人はいますか?それを修正するためのヒントはありますか?

前もって感謝します

アントニオ・ゴメス・バルケロ

4

1 に答える 1

4

例外をキャッチして、その内容を確認してください。私はitkに精通していませんが、APIを見ると、次のように動作するはずです:

try
{
    writer->Update();
}
catch( itk::ExceptionObject& ex )
{
    qDebug() << ex.what();
}

これにより、例外の原因がわかるはずです。

于 2011-09-14T14:14:39.500 に答える