gpt4 book ai didi

c++ - 使用 opencv 和 PlayStation Eye 进行高速视频捕获

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:49:27 24 4
gpt4 key购买 nike

我正在做一个需要低分辨率和大约 110 fps 的项目。所以我买了 30 美元的 PlayStation eye,它在 240 分辨率下以 320 提供 120 fps。

我安装了以前版本的 macam(因为最新版本不起作用)并成功获得了大约 120 fps(但由于 macam 中的一些错误我无法录制)。

enter image description here

我写了一个简单的代码将每一帧保存为jpg文件:

 #include <stdio.h>
#include "cv.h"
#include "highgui.h"
#include<iostream>
using namespace std;

int main(int argc, char** argv) {

int i = 0;
char *buf;
IplImage *frame;
CvCapture* capture = cvCreateCameraCapture(3);
cvSetCaptureProperty( capture, CV_CAP_PROP_FRAME_WIDTH, 320);
cvSetCaptureProperty( capture, CV_CAP_PROP_FRAME_HEIGHT, 240);
cvSetCaptureProperty( capture, CV_CAP_PROP_FPS, 110);

while (true) {

frame = cvQueryFrame(capture);
asprintf(&buf, "%d.jpg", i++);
cvShowImage("1", frame);
cvSaveImage(buf, frame);
cvWaitKey(10);
}
return 0;
}

但它每秒只能保存 30 帧。我的意思是它每秒创建 30 个文件而不是 110 个文件。有什么问题吗?

更新:我使用以下命令编译上面的代码:

g++ main.cpp `pkg-config --cflags opencv` `pkg-config --libs opencv` -o exec -m32

最佳答案

cvWaitKey(10); 等待 10ms。

110Hz 的帧率需要每 9 毫秒拍摄一次快照,而且还有保存帧的处理时间。

除了 CV_CAP_PROP_FPS 未按预期工作之外,这就是这里的一个问题。

关于c++ - 使用 opencv 和 PlayStation Eye 进行高速视频捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7447086/

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