|
最近在做FPGA影像處理。發現測試影像載入沒有好方法,自己寫了一個。發表在自己的部落格上
1 w/ X" m9 j/ R q. _: overilog中讀取BMP檔2 q) U! T, l' R/ s o' q ?& f
程式碼如下:- module test;9 o1 N6 t+ h5 s
- integer fileId, i, cc;
. H5 b# p) p* Q% Q5 l5 e - reg [7:0] bmp_data [0:2000000];
. c* p# h7 Z! _5 O1 [ - integer bmp_width, bmp_hight, data_start_index, bmp_size;
; D G% j& i+ D - ; F$ Y/ x- A4 T
- initial begin+ ?# @ f$ s$ l! p- B
- fileId = $fopen("gray.bmp","rb");& N u/ s' W* N, z$ n
- cc = $fread(bmp_data, fileId);. N7 {; E' C: J# J" u2 o
- bmp_width = {bmp_data[21],bmp_data[20],bmp_data[19],bmp_data[18]};
; d7 R6 @1 e6 f9 n/ O/ S d4 F. f - bmp_hight = {bmp_data[25],bmp_data[24],bmp_data[23],bmp_data[22]};
8 P2 X: Q$ r% L) a - data_start_index = {bmp_data[13],bmp_data[12],bmp_data[11],bmp_data[10]};- B! z8 t, e( N# j& P: [' c0 Y
- bmp_size = {bmp_data[5],bmp_data[4],bmp_data[3],bmp_data[2]}; F; g7 ^3 W) |7 q0 d+ {4 J
- for(i = data_start_index; i < bmp_size; i = i + 1) begin2 R3 {% D7 l0 ?0 K! A' ^8 P1 A q% u W
- $display("%h",bmp_data[i]);- p( \; J$ I0 v
- end
# X! c8 B, T0 W1 m% z - $fclose(fileId);
# z8 v3 c, z" G. e @/ g. u- T - end8 t- _1 i- r/ v4 {, G
- endmodule
複製代碼 資料格式沒有解開,要用自己排。 |
|