Mic*_*kan 5 c++ macos camera opencv
我正在开发一个需要低分辨率和大约110 fps的项目.所以我买了30美元的PlayStation眼睛,在240分辨率下提供120 fps的320分辨率.
我安装的MACAM以前的版本(因为最新的版本不工作),并顺利拿到约120 FPS(但我不能,因为在MACAM一些错误的记录).

我写了一个简单的代码将每个帧保存为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;
}
Run Code Online (Sandbox Code Playgroud)
但它每秒只能节省30帧.我的意思是它创建30个文件而不是每秒110个文件.有什么问题 ?
更新:我使用以下命令编译上面的代码:
g++ main.cpp `pkg-config --cflags opencv` `pkg-config --libs opencv` -o exec -m32
Run Code Online (Sandbox Code Playgroud)
cvWaitKey(10);等待10ms。
110Hz 的帧速率需要每 9ms 进行一次快照,此外还有保存帧的处理时间。
因此,除了CV_CAP_PROP_FPS未按预期工作之外,这也是一个问题。
| 归档时间: |
|
| 查看次数: |
7807 次 |
| 最近记录: |