对于Basler的Pylon SDK,内存图像的保存方式可通过以下代码实现:
// 创建 Pylon::MemoryBuffer 以存储图像数据
Pylon::CPylonImage image;
Pylon::CGrabResultPtr grabResult;
// 获取图像采集结果
camera.GrabOne(1000, grabResult, Pylon::TimeoutHandling_ThrowException);
// 从采集结果中获取图像数据
if (grabResult->GrabSucceeded())
{
// 将图像数据复制到内存缓冲区
image.AttachGrabResultBuffer(grabResult);
// 通过内存缓冲区创建图像
ImagePersistence::Save(ImageFileFormat_Bmp, "image.bmp", image);
}
其中,camera
为已经初始化的相机对象,grabResult
为采集结果对象,image
用于存储图像数据并将其保存到文件中。在上述代码中,Save()
函数可将内存缓冲区中的图像数据保存为指定格式的文件。如果需要保存为其他格式,只需将第一个参数ImageFileFormat_Bmp
修改为其他格式即可。