|
最近在做FPGA影像處理。發現測試影像載入沒有好方法,自己寫了一個。發表在自己的部落格上
5 P8 ]7 j) E' t' Dverilog中讀取BMP檔
4 U4 M. l9 ^5 K" {& Y# w程式碼如下:- module test; k# }. r9 ]% s+ d# {8 {
- integer fileId, i, cc;! O( p1 l! i6 Y: E& _
- reg [7:0] bmp_data [0:2000000];5 S0 l( p; Z/ M) T3 p* E8 C; O' s; E
- integer bmp_width, bmp_hight, data_start_index, bmp_size;9 `1 R. G( o& d2 i
- 4 s1 W% `/ }6 S; k
- initial begin! M% o0 T* w6 k, }3 l
- fileId = $fopen("gray.bmp","rb");
$ n. q7 [6 f% u) M0 V1 O - cc = $fread(bmp_data, fileId);
) o. s7 I) l2 ^' E: } - bmp_width = {bmp_data[21],bmp_data[20],bmp_data[19],bmp_data[18]};
0 y" b8 `# P ]0 K7 m - bmp_hight = {bmp_data[25],bmp_data[24],bmp_data[23],bmp_data[22]};& N# `7 b& Y- {: x" x
- data_start_index = {bmp_data[13],bmp_data[12],bmp_data[11],bmp_data[10]};. a; n2 L6 o$ Y0 b" v% I
- bmp_size = {bmp_data[5],bmp_data[4],bmp_data[3],bmp_data[2]};: y( i. @+ l8 W' l ~( B
- for(i = data_start_index; i < bmp_size; i = i + 1) begin) R. W, a- ]1 k9 J4 g7 ^" q% y. a
- $display("%h",bmp_data[i]);
9 _5 v9 u, q4 F9 e7 L6 U1 } - end, X3 R8 |4 L6 g
- $fclose(fileId);
& F7 v: A. h" V( |# j1 a# | - end0 \; c% n* m; g/ c s( _1 Q
- endmodule
複製代碼 資料格式沒有解開,要用自己排。 |
|