智能车制作

标题: 。。图像就是神奇的东西,,一会儿变大一会儿变小 [打印本页]

作者: 徐晋鸿!    时间: 2012-3-27 22:51
标题: 。。图像就是神奇的东西,,一会儿变大一会儿变小
S12,sony的CCD,外接LM1881,图像大小60*110;
声明!!程序没有一点改变,摄像头位置没有一点改变。。。。。。问题是,,一会儿取到的图像大,一会儿小。。。

[attach]21453[/attach]

[attach]21452[/attach]




补充内容 (2012-3-27 23:48):
据说是场信号跳变不完整。。不知是真是假。。
作者: sonwendi    时间: 2012-3-27 23:22
有可能是你的镜头里面的镜片会晃动,或者感光芯片会晃动,建议拿502什么的粘死
作者: 徐晋鸿!    时间: 2012-3-27 23:47
sonwendi 发表于 2012-3-27 23:22
有可能是你的镜头里面的镜片会晃动,或者感光芯片会晃动,建议拿502什么的粘死

查看过了,镜片不会抖,,而且,,视屏采集卡看到的是正常的。。
作者: sonwendi    时间: 2012-3-27 23:51
徐晋鸿! 发表于 2012-3-27 23:47
查看过了,镜片不会抖,,而且,,视屏采集卡看到的是正常的。。

数字的话是不是要考虑初始化一下?
或者还是你的程序的问题吧

作者: luojihao24669    时间: 2012-3-27 23:56
先说你采的是什么?用视频采集卡看到的是什么东西
作者: luojihao24669    时间: 2012-3-27 23:58
估计非摄像头问题,在于你的采集,
作者: 狼群——先锋    时间: 2012-3-28 06:38
厉害 ..
作者: 荔枝糖葫芦    时间: 2012-3-28 07:48
采集程序有问题
作者: tongyonghua123    时间: 2012-3-28 13:06
蛋疼啊。。。
作者: 徐晋鸿!    时间: 2012-3-29 12:30
sonwendi 发表于 2012-3-27 23:51
数字的话是不是要考虑初始化一下?
或者还是你的程序的问题吧

模拟的,用lm1881分进来的,,不知是否要初始化

作者: 徐晋鸿!    时间: 2012-3-29 12:32
luojihao24669 发表于 2012-3-27 23:56
先说你采的是什么?用视频采集卡看到的是什么东西

我是先把场消隐去除后连采60行的,,时序。。
作者: luojihao24669    时间: 2012-3-29 13:32
徐晋鸿! 发表于 2012-3-29 12:32
我是先把场消隐去除后连采60行的,,时序。。

实物!!!!!!!!!!!!!!

作者: 徐晋鸿!    时间: 2012-3-29 22:49
luojihao24669 发表于 2012-3-27 23:58
估计非摄像头问题,在于你的采集,

#include"head.h"
/*其他设置*/
byte rowflag=0;  //行计数
byte pointflag=0; //列计数
volatile byte  pic[60][110];//图像储存数组
void Row_Delay_Init(void)
{
     
     TIOS_IOS3  = 1;//通道3输出比较   
   TC3=1600+TCNT;     //延时25个行
     TFLG1_C3F = 1;//清除CH3标志
     TIE_C3I    = 0;//通道3中断!使能         !!!!!!!!!!!!!!!!!!!!!!
}   
void Feild_Init(void)
{/*开场中断*/
  TIOS_IOS5=0;//5为输入捕捉
  TCTL3_EDG5B=1;  //
  TCTL3_EDG5A=0;    //设为上升沿触发
  TIE_C5I=0;          //场中断!使能
  TFLG1_C5F=1;            //中断标志清除
}
void Row_Init(void)
{/*开行中断*/
  TIOS_IOS4=0;//4为输入捕捉  
  TCTL3_EDG4B=1;  //                                                            
  TCTL3_EDG4A=0;    //设为上升沿触发
  TIE_C4I=0;          //行中断!使能
  TFLG1_C4F=1;            //中断标志清除
}
void picking_picInit()
{
  TSCR1_TEN=1 ;//计数器运行
  TSCR2 = 0b00000110;//自由计数源为PCLK=总线时钟64MHz/64分频=1Mhz
                            //禁止定时器溢出中断,计数器自由运行
  Feild_Init();
  Row_Init();
  Row_Delay_Init();
  DDRA=0x00;  //AD输入口
  TIE_C5I=1;
}
void delayrowfirst()
{
    word i;
    for(i=200;i>0;i--) ;
}
void delayrow()
{
    word i;
    for(i=6826;i>0;i--);
}
void picking_pic()
{
  
    byte i;
    for(i=0;i<110;i++)
    pic[rowflag]=PORTA;
   
    rowflag++;
}

#pragma CODE_SEG NON_BANKED
void interrupt 13 Feild_CH5_ISR(void)
{
    TFLG1_C5F=1;
   TIE_C5I=0;          //场中断!使能
   TIE_C3I    = 1;    //通道3中断使能         
}
void interrupt 12 Row_CH4_ISR(void)
{
    TFLG1_C4F=1;
    TIE_C4I=0;
    if(rowflag<60)
     {
               
        delayrowfirst();
        picking_pic() ;
      
        TIE_C4I=1;
         
    }
    else
    {   
        rowflag=0;
       // TIE_C5I=0;          //场中断使能  
        //TC3=1600+TCNT;
        sendflag=0;     
    }
}
void interrupt 11  TIM_CH3_ISR(void)
{
TFLG1_C3F = 1;//清除CH3标志
TIE_C3I    = 0;//关闭中断
TC3=  1600+TCNT;
TIE_C4I=1;          //行中断使能
}
#pragma CODE_SEG DEFAULT  //恢复到默认段DEFAULT

作者: luojihao24669    时间: 2012-3-29 23:36
你先将摄像头的焦距调好,再用数字的摄像头采集,就用你上面的程序方法采,你对着一个固定的物体,且物体的各部分很容易分辨出来。这样先看看你这种采集程序的效果。如果效果可以,你在换成CCD的,也对着那个物体。看采回的图像是物体的哪个部分。你传的两张图片,根本不知道你拍的是什么,不好判断你踩到的是不是真的有效信号。而且,CCD的ADC模块一定要做好,不然用CCD还不如用7620!你先试试,把两种方法采集到的图片发上来看看。
作者: ☆_。寒泉..+    时间: 2012-9-18 14:00
同学请注意,你用的是k60吧,应该是中断的问题,我就遇到了,我通过用示波器查看中断发生的时候,发现发送图像之后开场中断,但是场中短波还没有来,但是一旦开了中断,程序马上进入到中断了,我一直没搞清楚是怎么回事,然后我放弃了中断,改用判断跳变...悲剧啊。具体情况就是在你发送图像的同时,寄存器应该接受到了中断信号,此时中断已经关闭,在发送完图像之后开中断,这个时候寄存器已经记录了信号,直接就近去了,这是我的理解,我也希望能解决这个问题,其实你不发送图像,直接处理图像,实际的图像就不会错位,可能就是因为信号残留的原因...
作者: 徐晋鸿!    时间: 2012-9-18 22:04
☆_。寒泉..+ 发表于 2012-9-18 14:00
同学请注意,你用的是k60吧,应该是中断的问题,我就遇到了,我通过用示波器查看中断发生的时候,发现发送图 ...

哥们~很感谢你的回答,,首先。。。。你发现我这沉底的帖子我表示很惊讶!。。。。next 问题已解决,你刚才说的其实是在开中断前要把标志位清楚,这样就没问题了
作者: tujunjie    时间: 2012-9-19 10:50
徐晋鸿! 发表于 2012-9-18 22:04
哥们~很感谢你的回答,,首先。。。。你发现我这沉底的帖子我表示很惊讶!。。。。next 问题已解决,你刚 ...

哥们,我也遇到图像有错位的情况,用的也是k60,该怎么解决呢?
作者: 徐晋鸿!    时间: 2012-9-19 12:03
tujunjie 发表于 2012-9-19 10:50
哥们,我也遇到图像有错位的情况,用的也是k60,该怎么解决呢?

.........我用S12的
作者: ☆_。寒泉..+    时间: 2012-9-21 16:00
徐晋鸿! 发表于 2012-9-18 22:04
哥们~很感谢你的回答,,首先。。。。你发现我这沉底的帖子我表示很惊讶!。。。。next 问题已解决,你刚 ...

我的还没解决,我把中断标志位清了,结果发现,中断根本就进不来,呵呵,可能是我程序写错了




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