pylon保存图片_Basler Pylon 4 SDK和OPENCV 2.4.9,CPylonImage到Mat

使用Basler Pylon 4 SDK和OpenCV 2.4.9开发机器视觉应用时,尝试从acA1300-30gc相机捕获图像并直接转换为Mat格式进行实时分析。代码中成功捕获图像,但在转换到Mat并显示时遇到问题,窗口显示为空白。目标是避免将图像保存到硬盘,而是直接进行处理。
摘要由CSDN通过智能技术生成

我目前正在开发使用Basler相机acA1300-30gc的机器视觉应用程序。为此,我正在使用Basler Pylon 4和OPENCV 2.4.9版,并且出现了一些问题。我正在尝试使用Pylon SDK捕捉图像并将其转换为Mat格式以供进一步分析。由于处理时间限制,我的目标是避免将图像保存到硬盘驱动器,但要实时分析它。Basler Pylon 4 SDK和OPENCV 2.4.9,CPylonImage到Mat

在下面的代码中,我尝试捕获图像,将其转换为Mat格式并将其显示在新窗口中,但我得到的窗口是空白的。如果有人能帮助我,请确认我的错误或解释我怎样才能以不同的方式达到我的目标,我将不胜感激。 (我可能应该补充说,相机正常工作,我已经能够保存图像到硬盘驱动器)。

谢谢。

这里是我的代码:

PylonAutoInitTerm autoInitTerm;

try

{

CInstantCamera camera(CTlFactory::GetInstance().CreateFirstDevice());

cout << "Dispositivo usado:"<

CGrabResultPtr ptrGrabResult;

camera.GrabOne(500,ptrGrabResult,TimeoutHandling_ThrowException);

if(ptrGrabResult->GrabSucceeded())

{

CPylonImage target;

CImageFormatConverter converter;

converter.OutputPixelFormat=PixelType_RGB8packed;

converter.OutputBitAlignment=OutputBitAlignment_MsbAligned;

converter.Convert(target,ptrGrabResult);

Mat image(target.GetWidth(),target.GetHeight(),CV_8UC1,target.GetBuffer(),Mat::AUTO_STEP);

if(image.empty())

{

cout << "No se pudo cargar la imagen Mat" << endl;

return -1;

}

cout << "La imagen se presenta en la ventana *Captura*" << endl;

namedWindow("Captura",WINDOW_AUTOSIZE);

imshow("Captura", image);

}

else

{

cout<GetErrorCode()<GetErrorDescription()<

}

}

2014-06-08

Eric

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值