智能车制作

标题: 摄像头采集的图像显示问题 [打印本页]

作者: M_Edge    时间: 2016-10-30 16:04
标题: 摄像头采集的图像显示问题
为什么我采集的图像程序定义在左上角(0,0)处开始显示,结果却从下图(0)位置开始显示,而原本在(1)位置显示的图像却跑到(2)位置。

//程序
void main()
{
     
     
     LCD_Init();
     camera_init(imgbuff);
     set_vector_handler(DMA0_VECTORn,DMA0_IRQHandler);
     set_vector_handler(PORTA_VECTORn , PORTA_IRQHandler);
   while(1)
     {
         
         camera_get_img();         //摄像头获取图像
         img_extract(img, imgbuff, CAMERA_SIZE);      
         oled_image();

     }
      
}
void oled_image(void)
{  uint8 x,y,data;
   for(y=0; y<OV7725_EAGLE_H/8+1; y++) //高度
   {
     LCD_Set_Pos(20,y);                           //设置图像显示位置
     for(x=0;x<CAMERA_W;x++)//宽度
     {
       data = 0;
       if(y<OV7725_EAGLE_H/8)
       data  |=  ((img[x+CAMERA_W*(y*8)]==255)<<0)|((img[x+CAMERA_W*(y*8+1)]==255)<<1)|((img[x+CAMERA_W*(y*8+2)]==255)<<2)|((img[x+CAMERA_W*(y*8+3)]==255)<<3)|
              ((img[x+CAMERA_W*(y*8+4)]==255)<<4)|((img[x+CAMERA_W*(y*8+5)]==255)<<5)|((img[x+CAMERA_W*(y*8+6)]==255)<<6)|((img[x+CAMERA_W*(y*8+7)]==255)<<7);
       else
       data  |=  ((img[x+CAMERA_W*(y*8)]==255)<<0)|((img[x+CAMERA_W*(y*8+1)]==255)<<1)|((img[x+CAMERA_W*(y*8+2)]==255)<<2)|((img[x+CAMERA_W*(y*8+3)]==255)<<3)|
               (1<<4)|(1<<5)|(1<<6)|(1<<7);
         
       LCD_WrDat(~data);                          //将8行同一列的点数合在一起,向LCD写入数据
      }
    }
}


作者: 萌小凡    时间: 2016-11-1 22:40
图像超宽了吧
作者: M_Edge    时间: 2016-11-2 22:39
萌小凡 发表于 2016-11-1 22:40
图像超宽了吧

这跟宽度没关系吧,我屏幕的各个位置,及图像大小都调过了





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