OpenEdv-开源电子网

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

OV7670 黑白图像 能输出黑白图像,但是程序看不大明白

[复制链接]

50

主题

270

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
492
金钱
492
注册时间
2013-2-2
在线时间
0 小时
发表于 2013-4-18 21:29:35 | 显示全部楼层 |阅读模式
            


那些被注释掉的程序就是别人在战舰版的程序上添加的,通过修改color大于某一个值,从而输出黑白图像,程序中IF的那几句我看不明白,I对10取余数是用来判断什么呢?还有 pic[i/10][j/10]=1等于1和等于0有什么区别?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-4-18 23:09:55 | 显示全部楼层
我都不知道pic这个数组用来干嘛的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

50

主题

270

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
492
金钱
492
注册时间
2013-2-2
在线时间
0 小时
 楼主| 发表于 2013-4-19 09:55:35 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
void GPIO_Configuration(void);
//ALIENTEK战舰STM32开发板实验36
//摄像头 实验  
//技术支持:www.openedv.com
//广州市星翼电子科技有限公司 
GPIO_InitTypeDef GPIO_InitStructure;

void GPIO_Configuration(void);
const u8*LMODE_TBL[5]={"Auto","Sunny","Cloudy","Office","Home"}; //5种光照模式     
const u8*EFFECTS_TBL[7]={"Normal","Negative","B&W","Redish","Greenish","Bluish","Antique"}; //7种特效 
extern u8 ov_sta; //在exit.c里面定义
extern u8 ov_frame; //在timer.c里面定义

u8 pic[32][24];
//更新LCD显示
void camera_refresh(void)
{
u32 j,i;
  u16 color;  
if(ov_sta==2)
{
// LCD_Scan_Dir(U2D_L2R); //从上到下,从左到右 
// LCD_SetCursor(0x00,0x0000); //设置光标位置 
LCD_SetGramRange(0,239,0,319); 
// LCD_WriteRAM_Prepare();     //开始写入GRAM
OV7670_RRST=0; //开始复位读指针 
OV7670_RCK=0;
OV7670_RCK=1;
OV7670_RCK=0;
OV7670_RRST=1; //复位读指针结束 
OV7670_RCK=1;  
for(j=0;j<320;j++)
for(i=0;i<240;i++)
{
OV7670_RCK=0;
color=GPIOC->IDR&0XFF; //读数据
OV7670_RCK=1; 
color<<=8;  
OV7670_RCK=0;
color|=GPIOC->IDR&0XFF; //读数据
OV7670_RCK=1; 
//LCD_RAM=color;
// if(color>0x8300) 
// {color=0xffff;
// if(i%10==0) pic[i/10][j/10]=1;}
// else  
// {color=0x8430;
// if(i%10==0) pic[i/10][j/10]=0;};
            //color=LCD_BGR2RGB(color);  
LCD_WriteRAM(color);  
}     
EXTI_ClearITPendingBit(EXTI_Line7);  //清除LINE8上的中断标志位
ov_sta=0; //开始下一次采集
  ov_frame++; 
//LCD_Scan_Dir(DFT_SCAN_DIR); //恢复默认扫描方向 

}
 int main(void)
 {  
u8 key;
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-4-19 10:52:54 | 显示全部楼层
这应该是用来将320*240的图片,每100个像素取1个点,保存为32*24的图片.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

6

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2013-1-17
在线时间
0 小时
发表于 2013-4-27 12:35:25 | 显示全部楼层
楼主 你那个出来的图像直接是黑白的吗?我也写过类似的程序,不过它都是先在TFT上显示一个彩色图片,然后经过软件处理,再变成黑白的,速度太慢了。
回复 支持 反对

使用道具 举报

50

主题

270

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
492
金钱
492
注册时间
2013-2-2
在线时间
0 小时
 楼主| 发表于 2013-4-29 16:14:43 | 显示全部楼层
回复【5楼】离恨天:
---------------------------------
嗯,是直接黑白的
这个程序的原理:就是比如色值大于多少输出就是黑,反之输出就是白,好像是这个道理。。。。。
回复 支持 反对

使用道具 举报

6

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2013-1-17
在线时间
0 小时
发表于 2013-5-7 16:27:12 | 显示全部楼层
回复【6楼】qq382663074:
---------------------------------
我也是这么写的,但是我那个在TFT上是先显示一帧彩色的图片,然后第二帧显示的才是黑白的,也就是说他总是先采集一帧彩色图片,并显示出来,而第二帧图片就是对第一帧图片的一个处理过程.
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2013-8-26
在线时间
0 小时
发表于 2013-8-26 13:25:31 | 显示全部楼层
OV7670_RRST=0; //开始复位读指针  
OV7670_RCK=0; 
OV7670_RCK=1; 
OV7670_RCK=0; 
OV7670_RRST=1; //复位读指针结束  
OV7670_RCK=1;   
请问为什么

OV7670_RCK=0; 
OV7670_RCK=1; 
OV7670_RCK=0;才是复位读指针?谢谢~!
回复 支持 反对

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2014-5-24
在线时间
0 小时
发表于 2014-5-24 12:14:42 | 显示全部楼层
回复【8楼】bonasara822:
---------------------------------
这个按时序来写的。
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2014-5-20
在线时间
0 小时
发表于 2014-5-24 22:23:56 | 显示全部楼层
能否通过设置 OV7670 的寄存器,将OV7670 配置为D[0:7]输出8为灰度数据,应该怎么设置,看过 OV7670 中文参考手册,感觉讲的好乱啊,是否有人做过类似的设置或推荐一个比较完善的 OV7670 寄存器设置手册
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2014-5-20
在线时间
0 小时
发表于 2014-5-25 09:58:06 | 显示全部楼层
回复【11楼】正点原子:
---------------------------------
膜拜原子哥!!!!!!!!!!!!!!!!!
回复 支持 反对

使用道具 举报

13

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
130
金钱
130
注册时间
2013-1-28
在线时间
0 小时
发表于 2014-6-3 20:17:10 | 显示全部楼层
回复【10楼】Lee_C:
---------------------------------
我现在在做GSM和OV7670给手机传彩信,也需要OV7670输出8位的数据,因为GSM模块是串口发送数据必须是8位一起发,RGB16怎么传啊,有谁做过求指点啊
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
24
金钱
24
注册时间
2015-10-24
在线时间
0 小时
发表于 2015-10-24 21:13:48 | 显示全部楼层
回复【3楼】qq382663074:
---------------------------------
可以把你的程序给我吗?  万分感谢阿!
回复 支持 反对

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
28
金钱
28
注册时间
2016-10-23
在线时间
4 小时
发表于 2016-11-20 13:55:49 | 显示全部楼层
这个数组是怎么定义的?
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-25 05:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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