|
最近在做FPGA影像處理。發現測試影像載入沒有好方法,自己寫了一個。發表在自己的部落格上
( W0 W! J, p# l; I' W6 Jverilog中讀取BMP檔
* ]" V7 q. N. X% f4 _9 t程式碼如下:- module test;$ i: H3 X% d- l/ W; T0 ~8 o
- integer fileId, i, cc; T- o; g8 {7 c0 T4 ?5 [
- reg [7:0] bmp_data [0:2000000];% f$ h e; W2 Y
- integer bmp_width, bmp_hight, data_start_index, bmp_size;' d6 v6 ?0 ]$ X6 r
- + r! m M0 r- M) z
- initial begin
& Z. ~4 g- n# c8 ^, k, S - fileId = $fopen("gray.bmp","rb");5 Z$ s& N% L2 _
- cc = $fread(bmp_data, fileId);
3 v" L U6 w8 k- h - bmp_width = {bmp_data[21],bmp_data[20],bmp_data[19],bmp_data[18]};" Y# B+ z4 T6 z6 {( C4 h K" K/ j
- bmp_hight = {bmp_data[25],bmp_data[24],bmp_data[23],bmp_data[22]};" t2 y0 {2 S9 w- a" y! `! s
- data_start_index = {bmp_data[13],bmp_data[12],bmp_data[11],bmp_data[10]};' b9 _6 l" H: ^/ ~ Y
- bmp_size = {bmp_data[5],bmp_data[4],bmp_data[3],bmp_data[2]};
9 }9 ~2 x! w" F6 V1 X: h* } - for(i = data_start_index; i < bmp_size; i = i + 1) begin
2 ]2 K2 r) s- X% K- D% ~ - $display("%h",bmp_data[i]);
0 k1 {# O$ v' L, o% ^0 e - end
4 F1 ]0 ~- V- O6 w4 d, F$ q - $fclose(fileId);4 J" D* U/ R! b
- end
3 K4 n2 o: W7 K2 f$ h' e8 u - endmodule
複製代碼 資料格式沒有解開,要用自己排。 |
|