0

各位stackoverflow的各位大家好: 我刚刚学了一点VC++中的opencv。现在,我遇到了一个新问题: 我想从EPIPHAN VGA2USB设备输入我的视频帧。因此,我安装了设备驱动程序,下载了它的SDK ,并在Microsoft Visual Studio 2010中打开了一个名为V2U的示例项目。使用SDK Release Notes.pdf,我添加了以下行:

V2U_GrabFrame2* currFrame= FrmGrab_Frame(fg, V2U_GRABFRAME_FORMAT_RGB16, NULL);

它的main功能(fg是一个图像采集器对象FrmGrab_Frame,根据pdf,返回一个帧)。类型V2U_GrabFrame2定义为:

typedef struct ioctl_grabframe2 {
#define V2U_GrabFrame2_Fields(pointer) \
    pointer     pixbuf;     /* IN  should be filled by user process */\
    V2U_UINT32  pixbuflen;  /* IN  should be filled by user process */\
    V2U_UINT32  palette;    /* IN pixel format */\
    V2URect     crop;       /* IN/OUT cropping area; all zeros = full frame */\
    V2U_VideoMode mode;     /* OUT VGA mode */\
    V2U_UINT32  imagelen;   /* OUT size of the image stored in pixbuf */\
    V2U_INT32   retcode;    /* OUT return/error code */
    V2U_GrabFrame2_Fields(void*)
} V2U_PACKED V2U_GrabFrame2, V2UGrabFrame2;

在头文件中。我可能必须cv::Mat从 中的信息创建一个对象currFrame,以便我可以使用opencv工具对其进行处理。有人可以分享类似的经验,可以帮助一个真正的初学者吗?

4

0 回答 0