Контурный фильтр для изображения jpeg
У меня есть следующее изображение в формате jpg:
Какой фильтр мне следует использовать, чтобы отфильтровать контур (только поля) этого изображения?
Я пробовал это:
vtkSmartPointer<vtkJPEGReader> reader = vtkSmartPointer<vtkJPEGReader>::New();
reader->SetFileName(sFile);
reader->SetDataByteOrderToBigEndian();
reader->Update();
vtkSmartPointer<vtkImageDataGeometryFilter> geometryfilter = vtkSmartPointer<vtkImageDataGeometryFilter>::New();
geometryfilter->SetInputConnection(reader->GetOutputPort());
geometryfilter->SetOutputTriangles(1);
geometryfilter->SetThresholdCells(1);
geometryfilter->Update();
Сохранить обратно в jpg:
vtkSmartPointer<vtkJpegWriter> writer = vtkSmartPointer<vtkJpegWriter>::New();
writer->SetInputConnection(geometryfilter->GetOutputPort());
writer->SetFileName(sFile);
writer->Write();
Но это не работает. Я также пробовал:
vtkSmartPointer<vtkImageDataGeometryFilter> geometryfilter = vtkSmartPointer<vtkImageDataGeometryFilter>::New();
geometryfilter->SetInputConnection(reader->GetOutputPort());
geometryfilter->SetOutputTriangles(1);
geometryfilter->SetThresholdCells(1);
geometryfilter->Update();
vtkSmartPointer<vtkOutlineFilter> outline = vtkSmartPointer<vtkOutlineFilter>::New();
outline->SetInputConnection(geometryfilter->GetOutputPort());
outline->SetGenerateFaces(1);
outline->Update();
vtkSmartPointer<vtkJpegWriter> writer = vtkSmartPointer<vtkJpegWriter>::New();
writer->SetInputConnection(outline->GetOutputPort());
writer->SetFileName(sFile);
writer->Write();
Это тоже не работает. Вы можете мне немного помочь?