OpenEdv-开源电子网

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

OV7670摄像头实验,任意窗口输出,灰度输出(战舰开发板)

  [复制链接]

0

主题

3

帖子

0

精华

新手入门

积分
23
金钱
23
注册时间
2015-8-1
在线时间
0 小时
发表于 2015-8-3 16:49:51 | 显示全部楼层
回复【49楼】正点原子:
---------------------------------
原子哥、求解啊!
正点原子逻辑分析仪DL16劲爆上市
回复 支持 反对

使用道具 举报

0

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2015-8-2
在线时间
7 小时
发表于 2015-8-3 20:42:53 | 显示全部楼层
回复 支持 反对

使用道具 举报

2

主题

12

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2015-1-23
在线时间
0 小时
发表于 2015-10-27 11:12:04 | 显示全部楼层
摄像头里面的 XCLK 和 CLK 到底是什么关系呢,你说的提高帧数是 吧 6b 地址写成 c0 就是*8  96mhz, 那XCLK 内接有源晶振是12M,那1S中的公式是与PCLK有关啊
回复 支持 反对

使用道具 举报

9

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
164
金钱
164
注册时间
2015-8-27
在线时间
22 小时
发表于 2015-10-30 10:41:33 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
请问原子老师:我的OV2640的PCLK和HREF,VSYNC为什么一直都是高电平?而SCCB信号是正确的,ID号读取也是没问题的,ov2640_Init()初始化正常,就是这几个Pins电平一直不变,一直是高电平?
回复 支持 反对

使用道具 举报

0

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
75
金钱
75
注册时间
2014-11-26
在线时间
23 小时
发表于 2015-10-30 14:37:31 | 显示全部楼层
回复【49楼】正点原子:
---------------------------------
原子哥 ,我把显示灰度图像的代码移植到mini板上,彩色显示正常,灰度图像显示是 屏幕表面有好多多白线干扰,跟雪花屏似得,怎么能决解啊 。。?
回复 支持 反对

使用道具 举报

0

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
75
金钱
75
注册时间
2014-11-26
在线时间
23 小时
发表于 2015-10-30 14:44:55 | 显示全部楼层
回复【55楼】.wolf:
---------------------------------
自己 回一下,把jtag的排线拔掉后效果要好一点,但偶尔还是会 “雪花屏”,诶
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2015-12-13
在线时间
0 小时
发表于 2015-12-18 15:01:44 | 显示全部楼层
好帖,万分感谢!
回复 支持 反对

使用道具 举报

16

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2015-11-1
在线时间
34 小时
发表于 2016-2-24 21:50:09 | 显示全部楼层
好帖,最近也刚接触OV7670
这是我的小尾巴~
回复 支持 反对

使用道具 举报

16

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2015-11-1
在线时间
34 小时
发表于 2016-3-1 20:05:31 | 显示全部楼层
楼主的附件,还有大神们的回答都是极其的赞,最近正在搞摄像头,谢谢分享
这是我的小尾巴~
回复 支持 反对

使用道具 举报

2

主题

14

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2016-3-6
在线时间
11 小时
发表于 2016-3-6 15:30:43 | 显示全部楼层
好东西,正准备做简单图像识别呢,先拿走~
回复 支持 反对

使用道具 举报

2

主题

56

帖子

0

精华

高级会员

Rank: 4

积分
509
金钱
509
注册时间
2015-12-22
在线时间
85 小时
发表于 2016-3-7 17:12:13 | 显示全部楼层
正准备学些摄像头相关的内容,谢谢楼主
回复 支持 反对

使用道具 举报

2

主题

18

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
461
金钱
461
注册时间
2015-11-29
在线时间
45 小时
发表于 2016-3-17 16:16:22 | 显示全部楼层
顶起!!!
回复 支持 反对

使用道具 举报

22

主题

129

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
324
金钱
324
注册时间
2015-6-23
在线时间
68 小时
发表于 2016-3-22 10:41:04 | 显示全部楼层
有问题想请教:void camera_refresh() {         u32 i,j;         u16 color;         if(ov_sta==2)         {                 LCD_Scan_Dir(U2D_L2R);                //从上到下,从左到右                  LCD_SetCursor(0x00,0x0000);        //设置光标位置                  LCD_WriteRAM_Prepare();     //开始写入GRAM                         OV7670_RRST=0;                                //开始复位读指针                  OV7670_RCK_L;                 OV7670_RCK_H;                 OV7670_RCK_L;                 OV7670_RRST=1;                                //复位读指针结束                  OV7670_RCK_H;                                    /*mode=1为灰度显示,mode=0为RGB565彩色显示*/                 if(ov7670_config.mode){                         for(i=0; i<ov7670_config.height; i++)                         {                         //        LCD_SetCursor(i+ov7670_config.xsta,ov7670_config.ysta);        //设置光标位置                          //        LCD_WriteRAM_Prepare();     //开始写入GRAM                                         for(j=0; j<ov7670_config.width; j++)                                 {                                         OV7670_RCK_L;                                         color = GPIOC->IDR&0XFF;        //读数据                                         OV7670_RCK_H;                                                                                  color<<=8;                                         OV7670_RCK_L;//因为设置的是 YUYV输出,第二个字节没用,不需要读,只读Y分量                                 //        color |= GPIOC->IDR&0XFF;        //                                         OV7670_RCK_H;                                                                                  /*Y分量转化成RGB565,得到灰度图*/                                         color_r = color&0xf800;                                         color_b = color>>11;                                         color >>=5;                                         color_g =color&0x07e0;                                                                                   LCD->LCD_RAM= color_r + color_g + color_b;                                    }                                   }                 }else{                         for(i=0; i<ov7670_config.height; i++)                         {                         //        LCD_SetCursor(i+ov7670_config.xsta,ov7670_config.ysta);        //设置光标位置                          //        LCD_WriteRAM_Prepare();     //开始写入GRAM                                         for(j=0; j<ov7670_config.width; j++)                                 {                                         OV7670_RCK_L;                                         color = GPIOC->IDR&0XFF;        //读数据,RGB565高字节                                         OV7670_RCK_H;                                                                                  color<<=8;                                         OV7670_RCK_L;                                         color |= GPIOC->IDR&0XFF;        //读数据,RGB565低字节                                         OV7670_RCK_H;                                                                                  LCD->LCD_RAM=color;                                    }                                   }                 }                                 EXTI_ClearITPendingBit(EXTI_Line8);  //清除LINE8上的中断标志位                 ov_sta=0;                                        //开始下一次采集                  ov_frame++;              LCD_Scan_Dir(DFT_SCAN_DIR);        //恢复默认扫描方向          }  }       
回复 支持 反对

使用道具 举报

22

主题

129

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
324
金钱
324
注册时间
2015-6-23
在线时间
68 小时
发表于 2016-3-22 10:59:25 | 显示全部楼层
中只是获取了摄像头图像转化成LCD可显示的RGB565数据,没看到写屏RAM函数LCD_WriteRAM(u16 RGB_Code)去显示,请问在哪里发送到屏去显示? LINE8中断是不是摄像头获取一帧数据后的中断?在这里的清中断和中断处理函数里的清中断是否重复了?
回复 支持 反对

使用道具 举报

22

主题

129

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
324
金钱
324
注册时间
2015-6-23
在线时间
68 小时
发表于 2016-3-22 11:18:12 | 显示全部楼层
还想请问,程序里OV7670里的图像是每两帧存入FIFO一次,FIFO能存下320X240个像素点的YUV数据吗?
回复 支持 反对

使用道具 举报

22

主题

129

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
324
金钱
324
注册时间
2015-6-23
在线时间
68 小时
发表于 2016-3-29 10:19:28 | 显示全部楼层
楼主,我安照你的方法,取出Y分量后变换,再送LCD显示,结果图像还是带彩色的,只是变模糊和有绿色带了,请问是什么原因啊?
回复 支持 反对

使用道具 举报

22

主题

129

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
324
金钱
324
注册时间
2015-6-23
在线时间
68 小时
发表于 2016-3-29 10:21:31 | 显示全部楼层
图片如下,请看看是哪里出错了
回复 支持 反对

使用道具 举报

22

主题

129

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
324
金钱
324
注册时间
2015-6-23
在线时间
68 小时
发表于 2016-3-29 10:35:37 | 显示全部楼层
不好意思,是我输出错了,现在可以输出灰度图了,但有个现象是图像一直有底纹在闪,而且一直是镜头中心一个圆环内是比较亮的,周围是有点暗的
回复 支持 反对

使用道具 举报

22

主题

129

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
324
金钱
324
注册时间
2015-6-23
在线时间
68 小时
发表于 2016-3-29 10:38:26 | 显示全部楼层
经在线监测内存Y值数据,发现它在3个数值之间跳动:72,136,200,偶尔还会变为00,以上是十进制的数,请问这个是为什么呢?
回复 支持 反对

使用道具 举报

7

主题

102

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
299
金钱
299
注册时间
2016-4-10
在线时间
48 小时
发表于 2016-4-13 07:56:16 | 显示全部楼层
楼主为什么你的程序下进去就一直在晃动
回复 支持 反对

使用道具 举报

6

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
411
金钱
411
注册时间
2016-1-26
在线时间
51 小时
发表于 2016-5-10 19:58:05 | 显示全部楼层
牛逼啊                  
回复 支持 反对

使用道具 举报

0

主题

13

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2016-5-17
在线时间
8 小时
发表于 2016-5-31 15:48:09 | 显示全部楼层
顶起来
回复 支持 反对

使用道具 举报

1

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2016-4-2
在线时间
14 小时
发表于 2016-6-8 00:13:44 | 显示全部楼层
为什么程序下载之后,LCD屏幕先白了一下马上就全灭了,然后再也没亮过。以确定显示屏没坏,摄像头也没坏。
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
23
金钱
23
注册时间
2015-4-18
在线时间
1 小时
发表于 2016-6-30 11:21:20 | 显示全部楼层
为什么我的战舰下载过后是白屏呢
回复 支持 反对

使用道具 举报

2

主题

394

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2085
金钱
2085
注册时间
2012-5-8
在线时间
312 小时
发表于 2016-7-18 10:53:53 | 显示全部楼层
测试一下!
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2016-7-27
在线时间
5 小时
发表于 2016-7-28 17:14:01 | 显示全部楼层
厉害!顶起来
回复 支持 反对

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2016-5-1
在线时间
5 小时
发表于 2016-7-28 19:14:07 | 显示全部楼层
好帖,顶上去。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2016-9-10
在线时间
0 小时
发表于 2016-9-10 18:49:12 | 显示全部楼层
上位机在哪呢
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2016-9-10
在线时间
0 小时
发表于 2016-9-10 18:49:27 | 显示全部楼层
朋友们分享一个
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2015-3-1
在线时间
1 小时
发表于 2016-10-2 15:35:31 | 显示全部楼层
分分钟实现60帧输出D:\aa.png
回复 支持 反对

使用道具 举报

11

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2016-11-1
在线时间
11 小时
发表于 2016-11-2 12:04:52 | 显示全部楼层
思默 发表于 2016-6-8 00:13
为什么程序下载之后,LCD屏幕先白了一下马上就全灭了,然后再也没亮过。以确定显示屏没坏,摄像头也没坏。

我也是。。。请问你解决了吗?
回复 支持 反对

使用道具 举报

2

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2016-10-31
在线时间
9 小时
发表于 2016-11-3 18:33:03 | 显示全部楼层
收藏了,多谢分享
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
180
金钱
180
注册时间
2016-1-17
在线时间
32 小时
发表于 2016-12-2 15:52:57 | 显示全部楼层
刚好在学摄像头循迹,感谢楼主的无私奉献
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2017-5-22
在线时间
2 小时
发表于 2017-5-22 11:06:16 | 显示全部楼层
楼主  ov7670如果要把图像发送到上位机显示要怎么处理数据啊
回复 支持 反对

使用道具 举报

1

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
131
金钱
131
注册时间
2017-5-9
在线时间
11 小时
发表于 2017-6-1 09:05:42 | 显示全部楼层
我用战舰板直接编译这个代码,电容屏一片漆黑,只有指示灯DS1在闪。用配套的摄像头实验例程没问题,请问我哪里需要修改么
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2017-7-14
在线时间
15 小时
发表于 2017-7-14 15:30:02 | 显示全部楼层
楼主有上位机吗,你说,利用usmart调试摄像头很方便的哦, 将函数config_ov7670_OutPut(u16 xsta,u16 ysta,u16 width,u16 height,u8 ouput_mode)和SCCB_WR_Reg(u8 reg,u8 data)添加到usmart_config.c文件就好了^_^  是什么意思
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2017-7-17
在线时间
2 小时
发表于 2017-7-17 09:55:33 | 显示全部楼层
请问我直接烧录之后,并不能出现效果,全屏雪白,初始化显示的那几个字体也不在。估计灭有跑过去。有相同问题的吗?(战舰V3)
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2017-7-17
在线时间
2 小时
发表于 2017-7-17 11:03:57 | 显示全部楼层
#在这里快速回复#config_ov7670_OutPut中的注释是否错误,RGB不是给的是彩色图像的吗?
回复 支持 反对

使用道具 举报

2

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2017-4-28
在线时间
17 小时
发表于 2017-7-24 11:12:17 | 显示全部楼层
非常感谢!!!
回复 支持 反对

使用道具 举报

0

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2017-3-18
在线时间
21 小时
发表于 2017-8-7 17:19:07 | 显示全部楼层
正点原子 发表于 2015-8-1 19:39
回复【48楼】nuaadot:
---------------------------------
LCD是RGB565的啊。。。

我用这帖子里的代码帧率只有7、8帧每秒?用原子哥的代码,屏蔽掉按键扫描函数后,每秒都有30帧了,即使没屏蔽掉也有18帧左右。有什么方法提高这份代码的帧率?按LZ说的设置0x6b也没用啊
回复 支持 反对

使用道具 举报

2

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2017-8-22
在线时间
21 小时
发表于 2017-8-25 10:37:40 | 显示全部楼层
666,新手上路,学习学习
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2017-9-6
在线时间
15 小时
发表于 2017-9-6 20:35:32 | 显示全部楼层
楼主提高帧率改动的寄存器是0x11吧
回复 支持 反对

使用道具 举报

7

主题

50

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
216
金钱
216
注册时间
2016-2-24
在线时间
39 小时
发表于 2017-11-8 11:16:39 | 显示全部楼层
ov7670的数据以二维数组的形式存入fifo。这个能不能实现
回复 支持 反对

使用道具 举报

7

主题

50

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
216
金钱
216
注册时间
2016-2-24
在线时间
39 小时
发表于 2017-11-18 11:41:10 | 显示全部楼层
是不是意思是说,如果发送到上位机显示灰度图像,直接取Y分量就行了
@xiaoyan  @正点原子
回复 支持 反对

使用道具 举报

21

主题

108

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
355
金钱
355
注册时间
2017-11-25
在线时间
80 小时
发表于 2018-4-19 19:47:01 | 显示全部楼层
把0x6b的设置更改应该并不会提高帧吧,我这边读取出来依然是30帧
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2018-4-20
在线时间
3 小时
发表于 2018-4-20 09:53:55 | 显示全部楼层
顶,大神,我在使用STM103的时候发现寄存器配置为RGB格式输出的时候,只采集低八位数据进行二值化也能产生灰度图像,请问您知道原因吗?
回复 支持 反对

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
78
金钱
78
注册时间
2018-3-7
在线时间
33 小时
发表于 2018-4-23 11:56:20 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

15

主题

55

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
358
金钱
358
注册时间
2016-9-7
在线时间
103 小时
发表于 2018-6-15 16:42:07 | 显示全部楼层
你好,请问这个是根据QVGA做的,我想输出640*480的这个不能用的吧
回复 支持 反对

使用道具 举报

32

主题

300

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1049
金钱
1049
注册时间
2012-3-30
在线时间
321 小时
发表于 2018-7-4 18:31:33 | 显示全部楼层
笑纳
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2019-1-4
在线时间
12 小时
发表于 2019-1-17 21:06:20 | 显示全部楼层
想用OV7670输出480*320的图像怎么做啊?
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 13:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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