各位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工具对其进行处理。有人可以分享类似的经验,可以帮助一个真正的初学者吗?