DE0+D5M采集的像素数据送给nios处理
DE0+D5M采集的像素数据送给NIOS处理之后,再存储到sd卡。NIOS处理的是RGB格式数据,打包为bmp存储到sd卡。请问下面这个情况是什么原因引起的,谢谢!!!有谁做过VGA呢?这个会不会是送给NIOS的数据,这些数据高低位放置错误而导致bmp数据打包出问题?当我挡住摄像头光的时候,读出来的图片是全黑的,没问题。 你写的图像数据有问题 你可以把你的nios中的谢数据那块贴出来,才能知道你写的什么问题,如果摄像头过来的数据没有问题的话,就试试先不用摄像头,谢谢简单的的试试。 回复 4# chenhaifeichina
#define DATA_OFFSET 54
alt_u8 header = {
0x42, // identity : B
0x4d, // identity : M
0, 0, 0, 0,// file size
0, 0, // reserved1
0, 0, // reserved2
54, 0, 0, 0, // RGB data offset
40, 0, 0, 0, // struct BITMAPINFOHEADER size
0, 0, 0, 0,// bmp width
0, 0, 0, 0,// bmp height
1, 0, // planes
24, 0, // bit per pixel
0, 0, 0, 0,// compression
0, 0, 0, 0,// data size
0, 0, 0, 0,// h resolution
0, 0, 0, 0,// v resolution
0, 0, 0, 0,// used colors
0, 0, 0, 0 // important colors
};
alt_u16 WIDTH =480;
alt_u16 HEIGHT =340;
int main()
{
int i, j,q;
unsigned charimage;// image array 800 * 400 * 3 = 960000
alt_u16 size; // file size
alt_u16 read_data1;
alt_u8r, g, b;
FATFS fs;
FILfile; //file objects//
UINT bw; //File R/W count//
static void delay(int n)
{
int i ;
for(i=0;i<n;i++);
}
IOWR_ALTERA_AVALON_PIO_DATA(CLOCK_BASE,0);
for(j = 0; j < HEIGHT; j++) {
for(i = 0; i < WIDTH; i++) {
IOWR_ALTERA_AVALON_PIO_DATA(CLOCK_BASE,1);
delay(50);
IOWR_ALTERA_AVALON_PIO_DATA(CLOCK_BASE,0);
delay(3);
read_data1= IORD_ALTERA_AVALON_PIO_DATA(DATA_A_BASE);
r = ((read_data1 & 0xf800) >>8);
g = ((read_data1 & 0x07e0) >>2);
b = ((read_data1 & 0x001f) <<3);
*(image + 3 * (WIDTH * j + i) + 0) = b;// B
*(image + 3 * (WIDTH * j + i) + 1) = g;// G
*(image + 3 * (WIDTH * j + i) + 2) = r;// R
}
}
// file size
size = WIDTH * HEIGHT * 3 + DATA_OFFSET;
header = (alt_u8)(size & 0x000000ff);
header = (size >> 8 ) & 0x000000ff;
header = (size >> 16) & 0x000000ff;
header = (size >> 24) & 0x000000ff;
// width
header = WIDTH & 0x000000ff;
header = (WIDTH >> 8 ) & 0x000000ff;
header = (WIDTH >> 16) & 0x000000ff;
header = (WIDTH >> 24) & 0x000000ff;
// height
header = HEIGHT & 0x000000ff;
header = (HEIGHT >> 8 ) & 0x000000ff;
header = (HEIGHT >> 16) & 0x000000ff;
header = (HEIGHT >> 24) & 0x000000ff;
}
这个就是16位rgb打包为bmp代码,高手的进来都指导指导下啊。 问题搞定了 怎么搞定的?我也出现这种问题 什么问题影响的,分享一下呗 透露一下,大家一起进步多好! 我也是这样的情况,请问怎么解决的?
页:
[1]