|
最近在做FPGA影像處理。發現測試影像載入沒有好方法,自己寫了一個。發表在自己的部落格上
$ m% q, H0 J+ e$ dverilog中讀取BMP檔
6 [3 f: i# m; g3 b: u: I6 q( N程式碼如下:- module test;# r3 b Y v8 ^; m
- integer fileId, i, cc;! \9 ]+ r9 E' j' a5 T1 V' d5 E) Z3 {
- reg [7:0] bmp_data [0:2000000];
9 Q3 X1 n, b: R% U3 l k - integer bmp_width, bmp_hight, data_start_index, bmp_size;! F! C. G. I* A- p/ j3 a
5 n/ J, v; u, r8 P) B2 s- initial begin
* ~5 W, E0 e4 [7 s1 y/ z% o y - fileId = $fopen("gray.bmp","rb");
6 q, r% E$ f3 P( D4 ^& ^9 d3 ?3 \ - cc = $fread(bmp_data, fileId);% J3 D; A5 {2 y1 x( _
- bmp_width = {bmp_data[21],bmp_data[20],bmp_data[19],bmp_data[18]};
5 Q# T2 K7 n# E9 O - bmp_hight = {bmp_data[25],bmp_data[24],bmp_data[23],bmp_data[22]};# c6 x/ f+ [- E0 }' j
- data_start_index = {bmp_data[13],bmp_data[12],bmp_data[11],bmp_data[10]};4 Z9 {8 g0 J; z" b4 H
- bmp_size = {bmp_data[5],bmp_data[4],bmp_data[3],bmp_data[2]};3 W4 _% ~7 o7 t6 [: Z
- for(i = data_start_index; i < bmp_size; i = i + 1) begin, @! Y5 g1 f3 s! ^, T5 m L. i
- $display("%h",bmp_data[i]);
" d. q+ F- s% g0 J* c5 D - end3 O8 K# X; r1 w
- $fclose(fileId);
% a) C- Q* G6 l, P, u5 I$ B - end) \9 `3 [: P2 z0 j
- endmodule
複製代碼 資料格式沒有解開,要用自己排。 |
|