gpt4 book ai didi

opencv - 从 DSLR (EDSDK) 实时流式传输到 Open CV

转载 作者:行者123 更新时间:2023-12-02 17:47:35 25 4
gpt4 key购买 nike

我在 this 上发现了大约 10 个问题主题,但我无法从他们那里得到任何答案,对不起。

我基本上是在尝试制作一个开放的 cv 应用程序来运行来自 dslr 相机的输入。

目前,我正在使用处理,从 syphon 获取相机输入,然后将其用于处理受限的开放式 cv。由于我需要使用姿势估计,因此无法在处理时进行。另外,我使用 syphon、opencv 和artoolkit 库只有 10 fps……不适合我的原型(prototype)。

我正在尝试使用 open cv 3.0。我使用网络摄像头获得了校准示例文件。我只是想用 EDSDK 替换 dslr 摄像头输入的网络摄像头。但是我找到的所有引用代码都是完全断开的(不同的版本/语言)。

SDK自带的EDSDK示例文件太复杂,无法推导代码。我不需要任何复杂性(用户界面、按钮、存储卡访问等)。只是作为网络摄像头工作的实时摄像头输入。

这是我可以编写的用于在 opencv 上检索网络摄像头输入的最简单代码。

#include "opencv2/opencv.hpp"
#import "EDSDK.h" //probably working fine

using namespace cv;

int main(int, char**)
{
VideoCapture cap(0); // replace here
if(!cap.isOpened()) // replace here
return -1;

namedWindow("edges",1);
for(;;)
{
Mat frame;
cap >> frame; // replace here
imshow("frame", frame); //shows it
if(waitKey(30) >= 0) break;
}
return 0;
}

有什么建议可以帮助我更换此行中的网络摄像头吗?

谢谢

最佳答案

EDSDK.h 的存在意味着您应该使用相机 API 来获取数据,而不是 VideoCapture cap(0) .开箱即用的 OpenCV 只能将 VideoCapture 用于 XIMEA 相机(如果您在 makefile 中打开它)。因此,您必须在相机的 API 示例中找到如何获取数据指针,将其转换为一种常见格式,然后使用构造函数将此指针复制到 Mat.data:

Mat(image.height, image.width, CV_8UC3, dataPointer)

关于opencv - 从 DSLR (EDSDK) 实时流式传输到 Open CV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31590689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com