智能车制作

标题: 有用K60+ov7725+野火摄像头库的吗?新手求教 [打印本页]

作者: xy三极管    时间: 2013-8-16 11:12
标题: 有用K60+ov7725+野火摄像头库的吗?新手求教
原库在采集完数据后,使用img_buf数组为二值化后的码,然后提取黑线自己写的(有效??)
在LCD显示是一片花屏,求解
程序如下:#include "common.h"#include "include.h"

u8  nrf_buff[CAMERA_SIZE + MAX_ONCE_TX_NUM];     //预多
u8 *img_bin_buff = (u8 *)(((u8 *)&nrf_buff) + COM_LEN);  //二值化图像的buf指针,由于开头有 COM_LEN 个字节是留给校验,所以需要加 COM_LEN

u8         img_buf[CAMERA_W *CAMERA_H];        //非压缩的二值化图像(用于识别)
u8      mid_line[CAMERA_W];
void blackline();

//按键调试发送变量的定义
//这些变量都是测试用,有需要,请自行修改
//可以是其他文件定义,不一定是这个文件里定义,然后把
u8  var1, var2;
u16 var3, var4;
u32 var5, var6;


void main(void)
{
    Site_t site = {0, 0};                                                 //显示图像左上角位置
    Size_t imgsize = {CAMERA_W, CAMERA_H};                        //图像大小
    Size_t size = {CAMERA_W, CAMERA_H};                             //显示区域图像大小

    LCD_Init(RED);                                                    //初始化,设置背景为白色
    Ov7725_Init(img_buf);                          //摄像头初始化

    while(1)
    {
       ov7725_get_img();       
        void blackline();
        LCD_Img_Binary_Z(site, size, (u16 *)mid_line, imgsize); //显示图像   
    }
}
void  blackline()
{u8 i,j=0,k=0,right_border,left_border,mid_point,mid=0;
for(i=CAMERA_H;i>0;i--)
  {for(j=k*CAMERA_W;j<(k+1)*CAMERA_W;j++)
     {if((img_buf[j-3]&img_buf[j-2]&img_buf[j-1]==0)&&(img_buf[j]|img_buf[j+1]|img_buf[j+2]==1))//识别黑线左边缘

     left_border=j;
      else if((img_buf[j-3]|img_buf[j-2]|img_buf[j-1]==1)&&(img_buf[j]&img_buf[j+1]&img_buf[j+2]&img_buf[j+3]==0))//识别黑线右边缘
     right_border=j;
               mid_point=left_border/2+right_border/2;
               mid_line[i-k]=mid_point;           
      }
        k++;
  }
}

作者: leng0304    时间: 2013-9-24 16:43
用的是鹰眼7725???
作者: litingfeng    时间: 2013-12-1 21:56
楼主同为新手能给一份这个完整的程序吗




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2