金牌会员
- 积分
- 1071
- 威望
- 527
- 贡献
- 308
- 兑换币
- 331
- 注册时间
- 2015-10-20
- 在线时间
- 118 小时
- 毕业学校
- 无
|
为什么我采集的图像程序定义在左上角(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写入数据
}
}
}
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|