Canon SDK(EDSDK)捕获视频流的指定大小区域

时间:2017-11-07 21:11:13

标签: c++ c video edsdk canon-sdk

我是EDSDK的新手,很遗憾在某些地方可能有一些奇怪的问题。

是否可以使用SDK访问视频流并对其执行某些操作?我需要这个来为流中的每个帧捕获指定大小的非常薄的区域(ROI)(例如3840×10像素)。不要理解这是帧的压缩,不需要遵循宽高比。理论上的这些变化应该增加fps,因为该区域将非常薄(他们应该吗?)。

我在官方文档中找到了下面的代码片段,虽然这似乎只会导致启动和停止视频录制的信号,而不会访问流。

EdsUInt32 record_start = 4; // Begin movie shooting
err = EdsSetPropertyData(cameraRef, kEdsPropID_Record, 0, sizeof(record_start), &record_start);
EdsUInt32 record_stop = 0; // End movie shooting
err = EdsSetPropertyData(cameraRef, kEdsPropID_Record, 0, sizeof(record_stop), &record_stop);

我非常感谢任何建议和帮助。请随时询问任何其他信息!

1 个答案:

答案 0 :(得分:1)

这个sdk不允许你直接访问像工业摄像头那样的高分辨率流。您可以通过顺序JPG中的USB~960x640实时视图图像进行访问。电影录制只能对内部卡进行,并在停止传输结果后进行。在此SDk之外,使用外部HDMI录像机可以访问最大FullHD1080p的近实时视频,具体取决于型号而不是总是“干净”。