本帖最后由 lvehe 于 2017-4-10 12:46 编辑
USB Video Class(UVC)研究终于告一段落。原来xp和Vista只支持UVC1.0标准,所以XP下无法识别采用UVC1.1和1.5版本的USB摄像头。源码改为UVC1.0标准,故在win7和xp下均可显示。
OV2640的CIF模式一直未见网络上有成功的案例和代码放出,刚开始和很多人一样,设置为CIF模式后画面几乎全黑。
下面的寄存器配置则解决了这一难题,其实只是窗口和尺寸设置合理了就行。
和官方手册说的400x296不一样,设置为400x300也是可行的。而且帧率也不只是60fps,设置为120fps仍然可以输出。
不过CIF模式下图像颜 {MOD}和质量跟SVGA和UXGA模式下还是存在一定差异的,但降低帧率会有所改善。是OV2640本身只能达到这种质量还是哪些寄存器存在设置上的问题,也就不得而知了。
/* CIF 400x300 60fps */
const uint8_t OV2640_400X300_60D0[][2] =
{
0xFF, 0x01, // BANK_SEL_SENSOR
0x11, 0x00, // 影响帧率 (fps = 60 / (CLKRC[5:0] + 1))
0x12, 0x20, // Bit[6:4]:Resolution Selection 010:CIF
0x3D, 0x38,
// 12000000 = 60.0 * (595) * (336)
0x2A, 0x00,
0x2B, 0x00,
0x46, 0x00,
0x47, 0x00,
// Sensor Window (274, 4, 800, 600)
0x17, 0x11,
0x18, 0x43,
0x32, 0x09,
0x19, 0x00,
0x1A, 0x4B,
0x03, 0x0A,
0x37, 0x40,
0x4F, 0xBB,
0x50, 0x9C,
0x5A, 0x57,
0x6D, 0x80,
0x39, 0x02,
0x35, 0x88,
0x22, 0x0A,
0x34, 0xA0,
0x06, 0x02,
0x0D, 0xB7,
0x0E, 0x01,
//-----------------------------------------------
0xFF, 0x00, // BANK_SEL_DSP
0xE0, 0x04, // RESET (DVP
igital Video Port)
// Image Size (800, 600)
0xC0, 0x64,
0xC1, 0x4B,
0x8C, 0x00,
// Image Window (0, 0, 800, 300)
0x51, 0xC8,
0x52, 0x4B,
0x53, 0x00,
0x54, 0x00,
0x55, 0x00,
0x57, 0x00,
// Out Size (400, 300)
0x5A, 0x64,
0x5B, 0x4B,
0x5C, 0x00,
0x86, 0x3D,
0x50, 0x00,
0xD3, 0x04,
0xE0, 0x00,
};
STM32F407Video.rar
(1.33 MB, 下载次数: 1100)
2017-4-10 12:40 上传
点击文件名下载附件
OV2640_UVC
用我的寄存器参数“OV2640_JPEG_INIT”去初始化。里面一些参数可能不一样导致才这种现象。具体原因不好解释,其实我也不是特别懂。
我试的是JPEG输出,RGB565格式的输出是否有问题不清楚。
JPEG图像的RGB是什么格式
一周热门 更多>