Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Basler Pylon 4 SDK和OPENCV 2.4.8,Linux简单查看器_C++_Linux_Opencv_Computer Vision - Fatal编程技术网

C++ Basler Pylon 4 SDK和OPENCV 2.4.8,Linux简单查看器

C++ Basler Pylon 4 SDK和OPENCV 2.4.8,Linux简单查看器,c++,linux,opencv,computer-vision,C++,Linux,Opencv,Computer Vision,我正在开发一个简单的摄像头查看器来测试Basler摄像头acA1300-30gc。我在Ubuntu 14.04中使用Basler Pylon 4和OPENCV 2.4.8版,因为我要开发一个机器视觉应用程序,我需要动态分析帧 基于Pylon文档中的示例代码,我编写了以下代码 代码: intmain(intargc,char*argv[]){ Pylon::PylonAutoInitTerm autoInitTerm; Mat图像(IM_高度、IM_宽度、CV_8UC3); cGrabResult

我正在开发一个简单的摄像头查看器来测试Basler摄像头acA1300-30gc。我在Ubuntu 14.04中使用Basler Pylon 4和OPENCV 2.4.8版,因为我要开发一个机器视觉应用程序,我需要动态分析帧

基于Pylon文档中的示例代码,我编写了以下代码

代码:

intmain(intargc,char*argv[]){
Pylon::PylonAutoInitTerm autoInitTerm;
Mat图像(IM_高度、IM_宽度、CV_8UC3);
cGrabResultPtrGrabResult;
//namedWindow(WIN\u NAME、CV\u WINDOW\u AUTOSIZE);
试一试{
CInstantCamera摄像机(CTlFactory::GetInstance().CreateFirstDevice());
cout GetWidth()*ptrGrabResult->GetHeight();
//如果(!image.empty())
//imshow(WIN_名称、图像);
//如果(等待键(30)=27){
//照相机。停止抓取();
//}
}
}
}catch(GenICam::GenericException&e){

cerr获取grab.cpp示例代码,并将以下代码添加到garb.cpp中,它就会工作

CImageFormatConverter fc;

fc.OutputPixelFormat = PixelType_BGR8packed;

CPylonImage image;

if (ptrGrabResult->GrabSucceeded())
{
 fc.Convert(image, ptrGrabResult);
 Mat cv_img = cv::Mat(ptrGrabResult->GetHeight(), ptrGrabResult->GetWidth(), CV_8UC3,    (uint8_t*)image.GetBuffer());
 imshow(src_window,cv_img);  
 waitKey(1);
 }

获取grab.cpp示例代码,并将以下代码添加到garb.cpp中,它就会工作

CImageFormatConverter fc;

fc.OutputPixelFormat = PixelType_BGR8packed;

CPylonImage image;

if (ptrGrabResult->GrabSucceeded())
{
 fc.Convert(image, ptrGrabResult);
 Mat cv_img = cv::Mat(ptrGrabResult->GetHeight(), ptrGrabResult->GetWidth(), CV_8UC3,    (uint8_t*)image.GetBuffer());
 imshow(src_window,cv_img);  
 waitKey(1);
 }

获取grab.cpp示例代码,并将以下代码添加到garb.cpp中,它就会工作

CImageFormatConverter fc;

fc.OutputPixelFormat = PixelType_BGR8packed;

CPylonImage image;

if (ptrGrabResult->GrabSucceeded())
{
 fc.Convert(image, ptrGrabResult);
 Mat cv_img = cv::Mat(ptrGrabResult->GetHeight(), ptrGrabResult->GetWidth(), CV_8UC3,    (uint8_t*)image.GetBuffer());
 imshow(src_window,cv_img);  
 waitKey(1);
 }

获取grab.cpp示例代码,并将以下代码添加到garb.cpp中,它就会工作

CImageFormatConverter fc;

fc.OutputPixelFormat = PixelType_BGR8packed;

CPylonImage image;

if (ptrGrabResult->GrabSucceeded())
{
 fc.Convert(image, ptrGrabResult);
 Mat cv_img = cv::Mat(ptrGrabResult->GetHeight(), ptrGrabResult->GetWidth(), CV_8UC3,    (uint8_t*)image.GetBuffer());
 imshow(src_window,cv_img);  
 waitKey(1);
 }
//Grab.cpp
/*
注意:在开始之前,Basler建议阅读程序员指南主题
在挂架C++ ++ API中,用挂架安装。
如果你升级到一个更高的主版本,Basler也可以
强烈建议阅读TopC++ C++ API文档中的迁移主题。
此示例演示了如何使用CInstantCamera类获取和处理图像。
异步抓取和处理图像,即。,
当应用程序处理缓冲区时,下一个缓冲区的获取完成
同时。
CInstantCamera类使用缓冲池来检索图像数据
一旦缓冲区填满并准备好,
可以从摄影机对象检索缓冲区进行处理。缓冲区
并在抓取结果中收集额外的图像数据
检索后由智能指针持有。缓冲区将自动重新使用
当显式释放或智能指针对象被销毁时。
*/
#包括
#ifdef塔架\u赢得\u建造
#包括
#恩迪夫
#包括“opencv2/highgui/highgui.hpp”
#包括“opencv2/imgproc/imgproc.hpp”
#包括“opencv2/core/core.hpp”
使用名称空间cv;
//用于使用挂架对象的命名空间。
使用名称空间挂架;
//用于使用cout的命名空间。
使用名称空间std;
//要抓取的图像数。
图像抓取的静态常数32_t c_计数=100;
int main(int argc,char*argv[])
{
//示例应用程序的退出代码。
int-exitCode=0;
//自动调用PylonInitialize和PylonTerminate以确保
//pylon运行时系统在此对象的生存期内初始化。
Pylon::PylonAutoInitTerm autoInitTerm;
cGrabResultPtrGrabResult;
namedWindow(“CV_图像”,窗口自动调整大小);
尝试
{
CInstantCamera摄像机(CTlFactory::GetInstance().CreateFirstDevice());
cout()){
fc.转换(图像、ptrGrabResult);
cv_img=cv::Mat(ptrGrabResult->GetHeight(),ptrGrabResult->GetWidth(),cv_8UC3,(uint8_t*)image.GetBuffer();
imshow(“CV_图像”,CV_img);
等待键(1);
如果(等待键(30)=27){
照相机。停止抓取();
}
}
}
}
catch(GenICam::GenericException&e)
{
//错误处理。
cerr
//Grab.cpp
/*
注意:在开始之前,Basler建议阅读程序员指南主题
在挂架C++ ++ API中,用挂架安装。
如果你升级到一个更高的主版本,Basler也可以
强烈建议阅读TopC++ C++ API文档中的迁移主题。
此示例演示了如何使用CInstantCamera类获取和处理图像。
异步抓取和处理图像,即。,
当应用程序处理缓冲区时,下一个缓冲区的获取完成
同时。
CInstantCamera类使用缓冲池来检索图像数据
一旦缓冲区填满并准备好,
可以从摄影机对象检索缓冲区进行处理。缓冲区
并在抓取结果中收集额外的图像数据
检索后由智能指针持有。缓冲区将自动重新使用
当显式释放或智能指针对象被销毁时。
*/
#包括
#ifdef塔架\u赢得\u建造
#包括
#恩迪夫
#包括“opencv2/highgui/highgui.hpp”
#包括“opencv2/imgproc/imgproc.hpp”
#包括“opencv2/core/core.hpp”
使用名称空间cv;
//用于使用挂架对象的命名空间。
使用名称空间挂架;
//用于使用cout的命名空间。
使用名称空间std;
//要抓取的图像数。
图像抓取的静态常数32_t c_计数=100;
int main(int argc,char*argv[])
{
//示例应用程序的退出代码。
int-exitCode=0;
//自动调用PylonInitialize和PylonTerminate以确保
//pylon运行时系统在此对象的生存期内初始化。
Pylon::PylonAutoInitTerm autoInitTerm;
cGrabResultPtrGrabResult;
namedWindow(“CV_图像”,窗口自动调整大小);
尝试
{
CInstantCamera摄像机(CTlFactory::GetInstance().CreateFirstDevice());
cout()){
fc.转换(图像、ptrGrabResult);
cv_img=cv::Mat(ptrGrabResult->GetHeight(),ptrGrabResult->GetWidth(),cv_8UC3,(uint8_t*)image.GetBuffer();
imshow(“CV_图像”,CV_img);
等待键(1);
如果(等待键(30)=27){
照相机。停止抓取();
}
}
}
}
catch(GenICam::GenericExcept)