ITKからのライブラリを使用して、イメージセグメンテーションのパイプラインを作成しようとしています。しかし、itkMorphologicalWatershedFromMarkersFilterを適用すると、結果は空白の画像(1だけのバイナリ画像)になります。マーカーからの形態的流域from ITK
このフィルタを正しく適用する方法を知っている人はいますか?
私の入力画像は画像の勾配でなければならず、マーカー画像は同じ画像上にウォーターシェッドフィルタを適用した結果でなければなりません。
入力 imageマーカーimage
そして、これは宣言とフィルタを適用したものである。また、
typedef itk::MorphologicalWatershedFromMarkersImageFilter < OutputImageType, OutputImageType >
MorphologicalWatershedFromMarkersImageFilterType;
MorphologicalWatershedFromMarkersImageFilterType::Pointer CwatershedFilter
= MorphologicalWatershedFromMarkersImageFilterType::New();
CwatershedFilter->SetInput1(reader1->GetOutput());
CwatershedFilter->SetMarkerImage(reader2->GetOutput());
CwatershedFilter->SetMarkWatershedLine(true);
try{
CwatershedFilter->Update();
}
catch (itk::ExceptionObject & error)
{
std::cerr << "Error: " << error << std::endl;
getchar();
return EXIT_FAILURE;
}
が、これはITKから、このフィルタのドキュメントへのリンクです.org:
ありがとうございます!
関連するコードを貼り付けると役立ちます。 – siavashk
コードがあります。私はそれが助けになるかどうかわかりませんが、フィルターの文書へのリンクも貼り付けました。 –
あなたのコードをより単純な画像にすると、フィルターは機能しますか?たとえば、真ん中に白い四角の黒い画像を入力として設定し、コードが正しい結果を生むかどうかを確認します。 これは、問題がコードまたは入力であるかどうかを確認するのに役立ちます。 – siavashk