|
最近在做FPGA影像處理。發現測試影像載入沒有好方法,自己寫了一個。發表在自己的部落格上. ?9 r5 X1 U+ u) n
verilog中讀取BMP檔
$ p/ N4 h7 \6 e程式碼如下:- module test;
2 a9 [; V4 N* |; C8 N7 ^ - integer fileId, i, cc;3 F4 A! J2 Y% T' u4 \6 d
- reg [7:0] bmp_data [0:2000000];( G A: I. X: w6 P: k4 [
- integer bmp_width, bmp_hight, data_start_index, bmp_size;+ [) s. J( p% K4 u U
- % r/ _# j: X; w- ^( Q" x5 @" T: W
- initial begin8 H7 C1 ^6 D2 W: n$ ]
- fileId = $fopen("gray.bmp","rb");' {# p/ Q2 v8 V# w i
- cc = $fread(bmp_data, fileId);
( w5 P- I' o, Y- k( _) d) H - bmp_width = {bmp_data[21],bmp_data[20],bmp_data[19],bmp_data[18]};
3 ?. v5 w" N0 z: P- z/ b4 L - bmp_hight = {bmp_data[25],bmp_data[24],bmp_data[23],bmp_data[22]};
9 V5 i. ^( _- f/ X, g n1 y8 R: U* c4 T - data_start_index = {bmp_data[13],bmp_data[12],bmp_data[11],bmp_data[10]};6 x/ ]- s/ ~0 Q* n$ ?
- bmp_size = {bmp_data[5],bmp_data[4],bmp_data[3],bmp_data[2]};) ~& A. y" M5 y6 T
- for(i = data_start_index; i < bmp_size; i = i + 1) begin
E7 X$ R- F# O% \- J% h6 Z - $display("%h",bmp_data[i]);5 x) o+ q Z! K4 `! G
- end
* y7 T6 H: ]8 Y& R& I - $fclose(fileId);
6 z5 l4 Z' d ?/ l+ h0 P - end$ ?5 S( L# ?5 R- `' o; @
- endmodule
複製代碼 資料格式沒有解開,要用自己排。 |
|