OV7725鹰眼摄像头

OV7725鹰眼摄像头如何使用?
目前的ov7725鹰眼摄像头,基本上用的都是山外的库,所以今天我们主要根据山外的库,基于k60芯片,给大家具体的讲解。

1.摄像头初始化

首先是摄像头的第一步就是初始化,这个我们直接去调用就行!

camera_init(imgbuff);

当然小伙伴在这里需要记住,需要配置中断优先级!对于我们使用摄像头的车而言,一般优先级最高的就是摄像头,所以小伙伴要记着给它分配优先级!我这里是分了五个优先级!大家也可以根据自己的需求,进行自主分配。

   NVIC_SetPriorityGrouping(5);      //设置优先级分组,4bit 抢占优先级,没有亚优先级    
   NVIC_SetPriority(PORTA_IRQn,0);   //配置优先级     摄像头
   NVIC_SetPriority(DMA0_IRQn,1);    //配置优先级     摄像头DMA
   NVIC_SetPriority(PIT0_IRQn,2);    //配置优先级     正交解码
   NVIC_SetPriority(PORTE_IRQn,3);   //配置优先级     NRF通信
   set_irq_priority(UART1_RX_TX_IRQn,4);

这里面如果不太懂中断和优先级处理的小伙伴,可以看我的下一篇文章里面,会给大家详细介绍的。
下面还有一个很重要的点就是配置摄像头的属性,这个说的通俗一点,就是我们的图像大小是多大的呢?一般对于ov7725鹰眼摄像头来说,他的大小一般是6080或者120160,在这里我用的是120*160,这个大家可以根据自己的需求进行调整。

//配置摄像头 属性
#define OV7725_EAGLE_DMA_CH       DMA_CH0                               //定义摄像头的DMA采集通道
#define OV7725_EAGLE_W            160                                    //定义摄像头图像宽度
#define OV7725_EAGLE_H            120                                    //定义摄像头图像高度
#define OV7725_EAGLE_SIZE         (OV7725_EAGLE_W * OV7725_EAGLE_H/8 )  //图像占用空间大小
#define OV7725_EAGLE_DMA_NUM      (OV7725_EAGLE_SIZE )                  //DMA采集次数

上述的相关配置文件都在“VCAN_OV7725_Eagle.h”
**

2.摄像头的采集

**
在第一步摄像头初始化完了之后,我们就可以正常进行图像采集了,下面就是基本的步骤,首先大家需要理解,如果摄像头我们想要看到正常的图像,那我们需要哪些步骤?
第一步肯定是获取图像对吧,所以这里我们只需要在相应的文件里面调用对应的函数就行。

#define camera_get_img()        ov7725_eagle_get_img()
/*上面这个是接口原型,我们直接调用下面这个就行*/
camera_get_img()

ok,现在我们获取了图像,是不是需要把这个图像正常的显示出来,但是ov7725是硬件二值化摄像头,也就是说他的输出就是0和1,即就是黑和白,那我们应该怎么样去定义黑和白呢,这就是第二步图像解压,在图像解压这里,我们也可以认为的去定义,0是黑还是白呢。

void img_extract(uint8 dst[][CAMERA_W], uint8 src[][CAMERA_W/8])
{
   
   
    uint8 colour[2] = {
   
   255, 0}; //0 和 1 分别对应的颜色
    //注:山外的摄像头 1 表示 白色,0表示 黑色
    uint8 tmpsrc;
    uint8 i,j;
    
    for(j=0;j<CAMERA_H;j++)
    {
   
       
      for(i=0;i<CAMERA_W/8;i++)
      {
   
   
          tmpsrc = src[j][i];
          dst[j][8*i+0] = colour[ (tmpsrc >> 7 ) & 0x01 ];
          dst[j][8*i+1] = colour[ (tmpsrc >> 6 ) & 0x01 ];
          dst[j]
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值