中级会员
 
- 积分
- 330
- 金钱
- 330
- 注册时间
- 2018-2-1
- 在线时间
- 68 小时
|
5金钱
用F1精英版做一个二维码识别的系统,现在已经做到可以将摄像头采集的图像通过显示屏显示出来,
也做了二值化处理。
现在卡在了识别这里做不下去了,不知道要怎么才能识别?
希望能给我提供点思路!
下面是摄像头数据采集并处理的几行代码,希望大神能通过代码给我指出下一步具体怎么做?谢谢!
while(OV7670_VSYNC==0); //0->1
while(OV7670_VSYNC==1); //1->0 只有在VSYNC为低时,才写入数据
//240*320=76800 每个像素用RGB565表示,即每个像素占两个字节,一个像素需传递两次
for(i=0;i<240;i++)
{
while(OV7670_HREF==0);//0->1 只有在HERE为高时,才传递数据
for(j=0;j<320;j++)
{
//OV7670_DATA
while(OV7670_PCLK==0); // 0->1 数据在PCLK上升沿保持稳定,在此时读取数据
color=GPIOC->IDR&0x00FF; //读取像素数据高字节
while(OV7670_PCLK==1); // 1->0
while(OV7670_PCLK==0); // 0->1
color=(color<<8)|(GPIOC->IDR&0x00FF);
while(OV7670_PCLK==1); // 1->0
// Gray=(R*38+G*75+B*15)>>7
color=(((color>>11)&0x1f)*38+((color>>5)&0x3f)*75+(color&0x1f)*15)>>7;
// 二值化显示
if(color>30) LCD->LCD_RAM=0xffff; //白色 //设置阀值为:30
else LCD->LCD_RAM=0x0000; //黑色
}
while(OV7670_HREF==1); // 1->0
}
ov_sta=0; //清零帧中断标记
ov_frame++;
LCD_Scan_Dir(DFT_SCAN_DIR); //恢复默认扫描方向
}
|
|