OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3725|回复: 8

急救救急,摄像头图像不在中心

[复制链接]

13

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2016-4-14
在线时间
33 小时
发表于 2016-7-21 18:43:30 | 显示全部楼层 |阅读模式
20金钱
OV2640摄像头图像不在中心,我改开窗位置,结果直接没图像了,问各路大神,应该怎么改,改那个函数

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

347

帖子

3

精华

金牌会员

Rank: 6Rank: 6

积分
2078
金钱
2078
注册时间
2014-12-19
在线时间
710 小时
发表于 2016-7-21 18:49:08 | 显示全部楼层
你的目的是什么?为什么要改窗口?用默认值就行了,不用去设置窗口位置。有很多reserved的东西,弄起来很麻烦的。
回复

使用道具 举报

13

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2016-4-14
在线时间
33 小时
 楼主| 发表于 2016-7-22 10:17:23 | 显示全部楼层
lvehe 发表于 2016-7-21 18:49
你的目的是什么?为什么要改窗口?用默认值就行了,不用去设置窗口位置。有很多reserved的东西,弄起来很麻 ...

默认值图像不在视场中心,在右侧
回复

使用道具 举报

11

主题

46

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
244
金钱
244
注册时间
2016-4-15
在线时间
66 小时
发表于 2016-7-22 10:34:31 | 显示全部楼层
上图看看
回复

使用道具 举报

13

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2016-4-14
在线时间
33 小时
 楼主| 发表于 2016-7-22 10:52:13 | 显示全部楼层
右上角是摄像头
QQ图片20160722104527.jpg
回复

使用道具 举报

13

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2016-4-14
在线时间
33 小时
 楼主| 发表于 2016-7-22 10:57:03 | 显示全部楼层
回复

使用道具 举报

13

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2016-4-14
在线时间
33 小时
 楼主| 发表于 2016-7-22 11:29:06 | 显示全部楼层
别沉啊,别沉啊,各路大神帮帮忙啊
回复

使用道具 举报

3

主题

347

帖子

3

精华

金牌会员

Rank: 6Rank: 6

积分
2078
金钱
2078
注册时间
2014-12-19
在线时间
710 小时
发表于 2016-7-22 11:47:22 | 显示全部楼层
设置图像尺寸、位置共有4个函数。这个是必须最先设置的。默认值为什么这么设置没法深究,是按手册给出的值计算出来的。调用函数之后有什么影响还没试。
楼主说的图像偏离中心,我感觉不是很明显,你的这种测试方法是否靠谱很难说。
[mw_shl_code=c,true]//默认 UXGA(284, 14, 1600, 1200) SVGA(274, 4, 800, 1208) CIF(274, 4, 800, 1206)???
uint8_t OV2640_SetSensorWindow(uint16_t hstr, uint16_t vstr, uint16_t winw, uint16_t winh)
{
        uint16_t hend;
        uint16_t vend;
        uint8_t  temp;

        if (hstr % 2) return 1;
        if (vstr % 2) return 2;
        if (winw % 2) return 3;
        if (winh % 2) return 4;

        hend = (hstr + winw) / 2;
        vend = (vstr + winh) / 2;
        hstr /= 2;
        vstr /= 2;

        OV2640_WriteReg(0xFF, 0x01);

        temp = OV2640_ReadReg(0x03); //保留COM1[7:6] Dummy frame control
        temp &= 0xF0;
        temp |= (((vend & 0x03) << 2) | (vstr & 0x03));
        OV2640_WriteReg(0x03, temp); //VEND[1:0] VSTRT[1:0] 默认值 0x0F(UXGA), 0x0A(SVGA), 0x06(CIF)
        OV2640_WriteReg(0x19, vstr >> 2); //VSTRT[9:2] 默认值 0x01(UXGA), 0x00(SVGA,CIF)
        OV2640_WriteReg(0x1A, vend >> 2); //VEND[9:2] 默认值 0x97

        temp = OV2640_ReadReg(0x32); //保留REG32[7:6] Pixel clock divide option
        temp &= 0xC0;
        temp |= (((hend & 0x07) << 3) | (hstr & 0x07));
        OV2640_WriteReg(0x32, temp); //HREFEND[2:0] HREFST[2:0] 默认值 0x36(UXGA), 0x09(SVGA,CIF)
        OV2640_WriteReg(0x17, hstr >> 3); //HREFST[10:3] 默认值 0x11
        OV2640_WriteReg(0x18, hend >> 3); //HREFEND[10:3] 默认值 0x75(UXGA), 0x43(SVGA,CIF)
        return 0;
}[/mw_shl_code]
回复

使用道具 举报

13

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2016-4-14
在线时间
33 小时
 楼主| 发表于 2016-7-22 17:09:55 | 显示全部楼层
lvehe 发表于 2016-7-22 11:47
设置图像尺寸、位置共有4个函数。这个是必须最先设置的。默认值为什么这么设置没法深究,是按手册给出的值 ...

不是,只要能让目标在摄像头正下方时,屏幕中目标也在中心就可以,能看的过去就可以了,但是我这个偏离的有点大啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 20:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表