智能车制作

标题: CCD采集问题 [打印本页]

作者: aaaaaaaaqqqqqqq    时间: 2015-2-1 12:36
标题: CCD采集问题
CCD在采集第一个点时,前边有一个延时,就是这个
    for(i = 0; i < 250; i++) {                    //更改250,让CCD的图像看上去比较平滑
      SamplingDelay() ;  //200ns                  //把该值改大或者改小达到自己满意的结果。
    }


这句怎么会使图像平滑,为什么要有这一句? 还有在官方测试自适应例程中,那个开始曝光函数有什么用,感觉有没有无所谓的样子。就是这个
void StartIntegration(void) {

    unsigned char i;

    SI_SetVal();            /* SI  = 1 */
    SamplingDelay();
    CLK_SetVal();           /* CLK = 1 */
    SamplingDelay();
    SI_ClrVal();            /* SI  = 0 */
    SamplingDelay();
    CLK_ClrVal();           /* CLK = 0 */

    for(i=0; i<127; i++) {
        SamplingDelay();
        SamplingDelay();
        CLK_SetVal();       /* CLK = 1 */
        SamplingDelay();
        SamplingDelay();
        CLK_ClrVal();       /* CLK = 0 */
    }
    SamplingDelay();
    SamplingDelay();
    CLK_SetVal();           /* CLK = 1 */
    SamplingDelay();
    SamplingDelay();
    CLK_ClrVal();           /* CLK = 0 */
} 求大神指点一二,新手上路,勿喷。


作者: aaaaaaaaqqqqqqq    时间: 2015-2-1 12:38
来人啊
作者: aaaaaaaaqqqqqqq    时间: 2015-2-1 12:39
:time::time:
作者: 旋风麦林    时间: 2015-2-1 15:04
那延时不是第一个点之前延时,是每个点都延时,就像那个SamplingDelay();延时稍微长点确实有点让图像更好的效果,我试的时候发现的,不太理解为啥。还有那个自适应曝光的开始曝光函数,作用就是开启曝光,虽然采集的同时也可以曝光,但是为了可以调节曝光时间又不影响周期。还有觉得自适应曝光算法也就那么回事。
作者: aaaaaaaaqqqqqqq    时间: 2015-2-1 15:43
旋风麦林 发表于 2015-2-1 15:04
那延时不是第一个点之前延时,是每个点都延时,就像那个SamplingDelay();延时稍微长点确实有点让图像更好的 ...

不是吧,
void ImageCapture(unsigned char * ImageData) {

    unsigned char i;
    extern u8 AtemP ;

    SI_SetVal();            /* SI  = 1 */
    SamplingDelay();
    CLK_SetVal();           /* CLK = 1 */
    SamplingDelay();
    SI_ClrVal();            /* SI  = 0 */
    SamplingDelay();

    //Delay 10us for sample the first pixel
    /**/
    for(i = 0; i < 250; i++) {                    //更改250,让CCD的图像看上去比较平滑
      SamplingDelay() ;  //200ns                  //把该值改大或者改小达到自己满意的结果。
    }

    //Sampling Pixel 1

    *ImageData =  ad_once(ADC1, AD6b, ADC_8bit);
    ImageData ++ ;
    CLK_ClrVal();           /* CLK = 0 */

    for(i=0; i<127; i++) {
        SamplingDelay();
        SamplingDelay();
        CLK_SetVal();       /* CLK = 1 */
        SamplingDelay();
        SamplingDelay();
        //Sampling Pixel 2~128

       *ImageData =  ad_once(ADC1, AD6b, ADC_8bit);
        ImageData ++ ;
        CLK_ClrVal();       /* CLK = 0 */
    }
    SamplingDelay();
    SamplingDelay();
    CLK_SetVal();           /* CLK = 1 */
    SamplingDelay();
    SamplingDelay();
    CLK_ClrVal();           /* CLK = 0 */
}这是完整的采集,后边127个是在第一个结束之后采的吧


作者: 旋风麦林    时间: 2015-2-1 20:45
第一个点先采了,为啥循环还循环128次,我就不懂了。
作者: 扫把小猪    时间: 2015-2-1 20:50
能把 这个例程  发过来看看不





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