OpenEdv-开源电子网

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

从ov7670提取出YUV的图像

[复制链接]

7

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2012-5-1
在线时间
0 小时
发表于 2012-10-25 10:04:33 | 显示全部楼层 |阅读模式
我想通过ov7670传回YUV的数据,然后提取出U和V的量,然后进行图像处理,请问
1.要输出YUV的量,寄存器应该如何配置
2.然后是将采集回来的信号放到数组中进行处理吗,而且他传回来的数据格式是什么样的啊,YUV是如何分布的
3.在选择ov7670的模块的时候,有的模块并没有将行同步引出来,而且我需要的是隔行采集,这可以吗
原子哥是吧行同步信号和一个输入的信号进行与非后送给FIFO的写使能,适合我使用吗
如果有做过这个方面的大神帮帮忙啊
上传的是原子哥的ov7670原理图,不知道可不可以
感谢大家了

OV7670_V2.2_SCH.pdf

135.8 KB, 下载次数: 1173

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2012-10-25 10:38:45 | 显示全部楼层
YUV我也没搞过,这个你可以研究OV7670的数据手册。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

46

主题

177

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
381
金钱
381
注册时间
2012-5-2
在线时间
0 小时
发表于 2012-10-25 11:06:12 | 显示全部楼层
寄存器里有关于YUV参数设置的说明
采集到数据后
R= (data & 0xF800) >> 8;
G= (data& 0x07E0) >> 3; 
B= (data & 0x001F) << 3; 
Gray=(u16)(int)((R*77+G*150+B*29+128)/256);
我是用这个公式计算灰度的
我一般是隔8行采集
回复 支持 反对

使用道具 举报

7

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2012-5-1
在线时间
0 小时
 楼主| 发表于 2012-10-25 11:12:16 | 显示全部楼层
回复【3楼】stm32007:
---------------------------------
请问你用的是哪个ov7670模块啊,原子哥的那个行同步信号没有直接引出来,你使用中断实现的吗
回复 支持 反对

使用道具 举报

46

主题

177

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
381
金钱
381
注册时间
2012-5-2
在线时间
0 小时
发表于 2012-10-25 11:45:23 | 显示全部楼层
回复【4楼】dong130300:
---------------------------------
程序是别人的,ov7670模块应该都一样吧 我用的是wangguanfu的 问他问题问多了 他会发飙
回复 支持 反对

使用道具 举报

7

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2012-5-1
在线时间
0 小时
 楼主| 发表于 2012-10-25 12:06:01 | 显示全部楼层
回复【5楼】stm32007:
---------------------------------
谢谢了
回复 支持 反对

使用道具 举报

50

主题

270

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
492
金钱
492
注册时间
2013-2-2
在线时间
0 小时
发表于 2013-4-11 18:36:59 | 显示全部楼层
回复【5楼】stm32007:
--------------------------------哥们,你能把你的程序发给我下吗?
回复 支持 反对

使用道具 举报

50

主题

270

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
492
金钱
492
注册时间
2013-2-2
在线时间
0 小时
发表于 2013-4-11 18:37:39 | 显示全部楼层
回复【楼主位】dong130300:
---------------------------------
楼主,你的程序能用了吗?
回复 支持 反对

使用道具 举报

17

主题

53

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
206
金钱
206
注册时间
2014-3-2
在线时间
30 小时
发表于 2014-5-28 23:38:22 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
怎样从图像中获取数据啊,例如我用来作为循迹,我需要寻黑白线
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2014-5-29 00:11:34 | 显示全部楼层
回复【9楼】襟湿容颜:
---------------------------------
慢慢写代码,呵呵
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

17

主题

53

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
206
金钱
206
注册时间
2014-3-2
在线时间
30 小时
发表于 2014-5-29 13:57:45 | 显示全部楼层
回复【10楼】正点原子:
---------------------------------
我读取两个坐标颜色值来比较,用串口来看,虽然两个值不同,但是还是进入了执行条件。。。???
                u=LCD_ReadPoint(20,20);
a=LCD_ReadPoint(220,20);
printf(" LCD ID:%x\r\n",u); //?ò??LCD ID 
  printf(" LCD ID1:%x\r\n",a); //?ò??LCD ID 
if(u==a){LED0=0;LED1=0;}


为什么啊?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2014-5-29 23:10:18 | 显示全部楼层
回复【11楼】襟湿容颜:
---------------------------------
这么邪门???
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

17

主题

53

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
206
金钱
206
注册时间
2014-3-2
在线时间
30 小时
发表于 2014-6-5 18:55:00 | 显示全部楼层
回复【12楼】正点原子:
---------------------------------
后来我从sram读出数据 可是太受光线影响了,白天和晚上的区别很大,我是用串口把那16位储存rgb的数据读出来,然后取范围,   目前只是做了黑白颜色,要识别其他的貌似难度很大。。。。
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
23
金钱
23
注册时间
2015-4-14
在线时间
0 小时
发表于 2015-4-14 16:39:41 | 显示全部楼层
请问一下要输出YUV的量,寄存器应该如何配置,我弄这个也遇到瓶颈;了
回复 支持 反对

使用道具 举报

16

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2015-11-1
在线时间
34 小时
发表于 2016-3-1 20:57:42 | 显示全部楼层
最近也在搞这个,谢谢分享
这是我的小尾巴~
回复 支持 反对

使用道具 举报

1

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2017-9-28
在线时间
8 小时
发表于 2018-3-17 15:25:27 | 显示全部楼层
根据寄存器来看,设置YUV时应该将寄存器0x12的bit2和bit0置0,但是在例程中这两位却本来就是0为什么输出的是RGB格式?
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 03:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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