|
最近在做FPGA影像處理。發現測試影像載入沒有好方法,自己寫了一個。發表在自己的部落格上
4 Z% N: D$ g% k/ A& ]7 i& dverilog中讀取BMP檔
( u* ^9 |2 @3 y- u2 z$ ^程式碼如下:- module test;
* D6 X8 h6 \1 D; ?9 z - integer fileId, i, cc;
0 J8 F/ y i( Q% ~* n. t( `' l - reg [7:0] bmp_data [0:2000000];
- [, N& g; B% g6 j) c7 V. ^$ N - integer bmp_width, bmp_hight, data_start_index, bmp_size;$ {! D1 A1 A, D; q7 W1 a; e5 ]- b
9 u+ ?8 F0 V8 O7 |9 Z& X6 `0 H1 m- initial begin' ]% p; L* G- ], V0 I+ f
- fileId = $fopen("gray.bmp","rb");) z7 m: m4 p2 \) F9 B
- cc = $fread(bmp_data, fileId);6 W. u6 ]7 g! ?0 e
- bmp_width = {bmp_data[21],bmp_data[20],bmp_data[19],bmp_data[18]};
7 Q3 p0 H2 `7 ?- y: w6 w' d* i - bmp_hight = {bmp_data[25],bmp_data[24],bmp_data[23],bmp_data[22]};2 R# R0 R6 t( d c8 t
- data_start_index = {bmp_data[13],bmp_data[12],bmp_data[11],bmp_data[10]};
) R: D( o( X; B+ m, Q - bmp_size = {bmp_data[5],bmp_data[4],bmp_data[3],bmp_data[2]};
1 S, V4 v& @ m6 C - for(i = data_start_index; i < bmp_size; i = i + 1) begin$ ^( h- t' ~$ X- J4 f3 K9 l) G/ I
- $display("%h",bmp_data[i]);
2 ~) _% h+ v4 K$ y - end
) a6 i. y) V8 F3 Q$ m5 B+ R - $fclose(fileId);
! B o, s d: O( y7 S) p2 {7 f - end, L7 j5 J8 \" P* ?: q9 E* S
- endmodule
複製代碼 資料格式沒有解開,要用自己排。 |
|