为了过滤此图像的轮廓(仅边距),我应该使用什么过滤器之王?
我试过这个:
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();
也不行。你能帮我一点吗?