Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.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/9/opencv/3.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++ 使用OpenCV从FLIR相机检索帧_C++_Opencv_Flir - Fatal编程技术网

C++ 使用OpenCV从FLIR相机检索帧

C++ 使用OpenCV从FLIR相机检索帧,c++,opencv,flir,C++,Opencv,Flir,我正在尝试连接FLIR摄像机,并使用OpenCV处理帧。我用网线连接cammera,但视频捕获对象未成功与cam关联 cv::视频捕获cam(0); 如果(cam.isOpened()==false){ std::coutcv::VideoCapture cam(0);用于安装在PC上的摄像头 看看你是否能用VLC或任何其他应用程序打开 您可能需要通过RTSP连接打开摄像机的VideoCapturecv::VideoCapture cam(0);用于安装在PC上的摄像机 看看你是否能用VLC或

我正在尝试连接FLIR摄像机,并使用OpenCV处理帧。我用网线连接cammera,但视频捕获对象未成功与cam关联


cv::视频捕获cam(0);
如果(cam.isOpened()==false){
std::coutcv::VideoCapture cam(0);用于安装在PC上的摄像头
看看你是否能用VLC或任何其他应用程序打开
您可能需要通过RTSP连接打开摄像机的VideoCapture

cv::VideoCapture cam(0);用于安装在PC上的摄像机 看看你是否能用VLC或任何其他应用程序打开
您可能需要打开与摄像头的RTSP连接的VideoCapture

Ok,以便将来有兴趣了解如何使用从PointGray摄像头获取的图像在OpenCv中工作:

工业摄像机有其专有的驱动程序,它们不使用操作系统的标准视频接口。这是正常的,因为这些摄像机非常复杂,通常用于更复杂的情况,您需要完全控制摄像机

您必须从Point Grey站点()下载相机的SDK,并自己实现捕获

然后,您可以将捕获的缓冲区转换为OpenCV Mat

int-ConvertToCVmat(图像PTR图像)
{
int结果=0;
ImagePtr convertedImage=pImage->Convert(像素格式\u BGR8,最近邻);
unsigned int XPadding=convertedImage->GetXPadding();
unsigned int YPadding=convertedImage->GetYPadding();
unsigned int rowsize=convertedImage->GetWidth();
unsigned int colsize=convertedImage->GetHeight();
//图像数据包含填充。分配Mat容器大小时,需要考虑X、Y图像数据填充。
Mat cvimg=cv::Mat(colsize+YPadding,rowsize+XPadding,cv_8UC3,convertedImage->GetData(),convertedImage->GetStride());
namedWindow(“当前图像”,CV\u窗口\u自动调整大小);
imshow(“当前图像”,cvimg);
调整窗口大小(“当前图像”,行大小/2,列大小/2);
waitKey(1);//否则图像将不显示。。。
返回结果;
}

此外,这对于将来对如何使用从PointGray摄像机获取的图像在OpenCv中工作感兴趣的人来说也是很有帮助的

工业摄像机有其专有的驱动程序,它们不使用操作系统的标准视频接口。这是正常的,因为这些摄像机非常复杂,通常用于更复杂的情况,您需要完全控制摄像机

您必须从Point Grey站点()下载相机的SDK,并自己实现捕获

然后,您可以将捕获的缓冲区转换为OpenCV Mat

int-ConvertToCVmat(图像PTR图像)
{
int结果=0;
ImagePtr convertedImage=pImage->Convert(像素格式\u BGR8,最近邻);
unsigned int XPadding=convertedImage->GetXPadding();
unsigned int YPadding=convertedImage->GetYPadding();
unsigned int rowsize=convertedImage->GetWidth();
unsigned int colsize=convertedImage->GetHeight();
//图像数据包含填充。分配Mat容器大小时,需要考虑X、Y图像数据填充。
Mat cvimg=cv::Mat(colsize+YPadding,rowsize+XPadding,cv_8UC3,convertedImage->GetData(),convertedImage->GetStride());
namedWindow(“当前图像”,CV\u窗口\u自动调整大小);
imshow(“当前图像”,cvimg);
调整窗口大小(“当前图像”,行大小/2,列大小/2);
waitKey(1);//否则图像将不显示。。。
返回结果;
}

这对网线也很有帮助

?你知道摄像头的IP地址吗?我最近使用了一个FLIRs灰点摄像头。你应该熟练地看看Spinnaker SDK-它是FLIR的官方SDK-安装SDK后,你还会看到关于如何在OpenCV中使用它的示例和文档。我有文档但是我看不到任何关于OpenCV的内容。我的文档来自SpinView帮助。你说的安装是什么意思,那只是一个SDK。我不安装它,只是将它添加到项目目录中。它是一个独立的安装程序,附带SpinView(API)在install文件夹中有一堆关于如何使用它的示例代码,包括与opencv一起使用。只需谷歌“Spinker下载”你可以通过网线找到它?你知道摄像头的IP地址吗?我最近使用了一个FLIRs的灰点摄像头。你应该熟练地看看Spinnaker SDK-它是FLIR的官方SDK-在安装SDK后,你还会看到关于如何在OpenCV中使用它的示例和文档。我有文档但是我看不到OpenCV的任何内容。我的文档来自SpinView帮助。你说的安装是什么意思,那只是一个SDK。我不安装它,只是将它添加到项目目录中。它是一个独立的安装程序,附带SpinView(API)在install文件夹中有一堆关于如何使用它的示例代码,包括与opencv一起使用。只需谷歌“Spinker下载”你会发现itI可以用第三方提供的软件打开摄像头。我只是想看看我是否可以避免使用带有open CVE的SDK如果摄像头使用RTSP广播,你可以给opencv提供RTSP连接并连接到摄像头视频捕获流1(“RTSP://”);我可以用第三方提供的软件打开相机。我只是想看看我是否可以避免使用带有open CVE的SDK。如果相机使用RTSP广播,您可以为opencv提供RTSP连接并连接到相机视频捕获流1(“RTSP://”)“工业摄像机有其专有的驱动程序”并不完全正确。计算机视觉摄像机是USB3 vision(U3V)或GigE vision,两者都是GemICam标准的图层。OpenCV可能不支持这种开箱即用的技术。U3V标准可能比