vtk读取序列JPG图像

方法1


vtkSmartPointer<vtkJPEGReader> reader = vtkSmartPointer<vtkJPEGReader>::New();
reader->SetFilePrefix("d:/CT01/jpg/SLZ+");
reader->SetFilePattern("%s%03d.jpg");
reader->SetDataExtent(0, 400, 0, 400, 0, 200);
reader->Update();

SetFilePrefix() // 设置图像序列中相同的部分
SetFilePattern() // 设置图像序列中不同的部分,%03d 的意思是不足3位的在前面补0
SetDataExtent(0, 400, 0, 400, 0, 200) // 设置图像序列中图片的大小和图片编号,此处图片大小为401*401,编号为000-200,即上一行中 %03d 对应的部分

方法2


//生成图像序列的文件名数组  
vtkSmartPointer<vtkStringArray > fileArray = vtkSmartPointer<vtkStringArray >::New();
char fileName[128];
for (int i = 1; i <= 200; i++) //几个图像就循环几次  
{
	sprintf(fileName, "d:/jpg/img-%03d.jpg", i);
	vtkStdString fileStr = (vtkStdString)(fileName);
	fileArray->InsertNextValue(fileStr);
}
//读取JPG序列图像  
vtkSmartPointer<vtkJPEGReader>reader = vtkSmartPointer<vtkJPEGReader>::New();
reader->SetFileNames(fileArray);
reader->Update();

posted @ 2022-04-18 16:18  糯岩  阅读(292)  评论(0)    收藏  举报