|
最近在做FPGA影像處理。發現測試影像載入沒有好方法,自己寫了一個。發表在自己的部落格上
3 f- M8 h0 F: h3 I4 J7 u. x: g+ X* Dverilog中讀取BMP檔
0 e, }% e1 z0 v1 n程式碼如下:- module test;) v F% H/ X. f0 }+ Z
- integer fileId, i, cc;* @6 s$ t. s; z
- reg [7:0] bmp_data [0:2000000];9 L% c' e- ]$ M
- integer bmp_width, bmp_hight, data_start_index, bmp_size;
5 I' b: M Z+ C3 h - : S) I: A9 b' Q$ k# y" Z% T& S
- initial begin
0 c4 G3 o' Z8 U; w) ?1 u9 D7 c - fileId = $fopen("gray.bmp","rb");
! ~) Y- i; u4 [! l9 m" g- G - cc = $fread(bmp_data, fileId);/ _0 Q- ^" y0 R" Y* r
- bmp_width = {bmp_data[21],bmp_data[20],bmp_data[19],bmp_data[18]};
& Z; d: d6 z; K$ L6 B# u2 p - bmp_hight = {bmp_data[25],bmp_data[24],bmp_data[23],bmp_data[22]};
6 |& R/ x' Y* U7 {* p R. A8 W* d - data_start_index = {bmp_data[13],bmp_data[12],bmp_data[11],bmp_data[10]};3 a, T& p5 X% y) m( c( q
- bmp_size = {bmp_data[5],bmp_data[4],bmp_data[3],bmp_data[2]};) a) D/ }1 ~: v: d
- for(i = data_start_index; i < bmp_size; i = i + 1) begin
; w" f0 A6 ]) b6 `. b - $display("%h",bmp_data[i]);
5 H5 q$ n# P9 j& ^+ v8 \# O, T7 K - end
% D) R: D$ i/ o9 n" s" V U z - $fclose(fileId);& `6 f) V; I; w' S
- end
1 x( p6 b8 |9 W' V8 y. A - endmodule
複製代碼 資料格式沒有解開,要用自己排。 |
|