智能车制作

标题: 摄像头采集图像分成两半,诚心求解 [打印本页]

作者: M16贯穿伤    时间: 2015-3-13 20:41
标题: 摄像头采集图像分成两半,诚心求解
这个是我用上位机看到的图像。首先图像采集的不是很清晰,看各位有什么好的建议来提高清晰度。然后就是图像分成了两半,图中箭头所指图像本应在图片最右边。在野火的pdf文档里有这样的分析:“ 问题:图像分成左右两半图像,左半幅图是右半幅图的右边图像。解答:没处理好行中断,可能行中断来了后处理太多东西才开始采集。”。

下面是我的场中断和行中断的中断服务程序代码:
u8  Vsyn_Flag=0;           //场中断标志
u8  DMA_Over_Flg = 0 ;     //图像采集完成标志
u16 CameraV=0;             //摄像头图像的行数
u8  ImageV=0;              //筛选后,图像的行数

void PORTD_IRQHandler()
{
    if(PORTD_ISFR & 0x2000)            //PTD13触发中断,采集的行中断
    {
        PORTD_ISFR  |= 0x2000;                 //写1清中断标志位      

        if(Vsyn_Flag==0)                       //若未触发场中断则退出
        {
          return;
        }

        if((CameraV%(480/V)==0)&&(ImageV<V))//若为指定筛选行
        {
          DMA_PORTx2BUFF_Init (DMA_CH4, (void *)&PTE_BYTE0_IN, Pix_data[ImageV], PTD12, DMA_BYTE1, H, DMA_rising_keepon);
          DMA_EN(DMA_CH4);                     //使能通道CHn 硬件请求      (这样才能继续触发DMA传输)
          DMA_IRQ_EN(DMA_CH4) ;                //允许DMA通道传输
          ImageV ++ ;
         }

         CameraV++;

         if(ImageV==V)                      //采集完一帧图像
         {
           ImageV=0;
           DMA_DIS(DMA_CH4);
           DisableInterrupts;
           DMA_Over_Flg = 1 ;                    
           Vsyn_Flag=0;                        //防止场消隐区仍在进行行中断而采集图像(自行添加)
         }
     }

    if(PORTD_ISFR & 0x4000)         //PTD14触发中断,采集的场中断
    {
        PORTD_ISFR  |= 0x4000;        //写1清中断标志位           
        CameraV = 0 ;
        ImageV=0;
        Vsyn_Flag=1;     
     }

}


望各位指点一下,如何修改来得到好的图像!

作者: M16贯穿伤    时间: 2015-3-13 20:42
二楼再次谢过各位哈
作者: 【又一个黎明〗    时间: 2015-3-13 21:34
像左边这种情况,可能是你芯片频率不够造成的。是不是芯片能够采到的列数不够多啊?试一下?!
作者: 心有邻    时间: 2015-3-13 21:55
采样频率关系.......
作者: 淡看潮落    时间: 2015-3-14 14:18
这应该是采集到了上一帧图像,可能是采集时序的问题,至于清晰度,你这是蓝宙的摄像头吧?
作者: M16贯穿伤    时间: 2015-3-14 14:57
【又一个黎明〗 发表于 2015-3-13 21:34
像左边这种情况,可能是你芯片频率不够造成的。是不是芯片能够采到的列数不够多啊?试一下?!

嗯嗯,已经是180MHz了,提高到200那个边带会稍微窄一点,有一点效果。之后又试了下采集100*60的图像,相比于之前128*60的图像好很多,不过用在车子上还是需要大一点的图像吧,看来还是只能在代码上下功夫了

作者: M16贯穿伤    时间: 2015-3-14 15:01
心有邻 发表于 2015-3-13 21:55
采样频率关系.......

频率已经是180MHz了,再调高点效果也不是很明显,到时换成采集小点的图像有点效果。看来还得使劲钻研代码了

作者: M16贯穿伤    时间: 2015-3-14 15:04
淡看潮落 发表于 2015-3-14 14:18
这应该是采集到了上一帧图像,可能是采集时序的问题,至于清晰度,你这是蓝宙的摄像头吧?

是啊,就是用的蓝宙的捕食者,根据卖家的例程自己修改了下测的。像素时钟触发DMA传输,还有可能是PCLK信号的问题,毕竟27MHz啊

作者: make1573    时间: 2015-3-14 15:41
我的比你的好一点,只有最右边一点采集出来是黑色的,楼主解决了记得告诉我一下啊
作者: 淡看潮落    时间: 2015-3-14 17:49
M16贯穿伤 发表于 2015-3-14 15:04
是啊,就是用的蓝宙的捕食者,根据卖家的例程自己修改了下测的。像素时钟触发DMA传输,还有可能是PCLK信号 ...

蓝宙的摄像头有点坑,调了半个月图像还是特别差,网上看好多人都说有各种问题,所以换摄像头了
作者: 丶丨贝尔    时间: 2016-7-10 20:36
不知道楼主解决的怎么样,我也遇到了同样的问题,希望能交流一下  扣扣 1240402734
作者: 遇见路    时间: 2018-6-12 13:13
大家怎么解决,怎么没后续




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