一設計功能
通過友善串口助手將198X198像素的十字光標圖片轉化為198X198的二進制數據后,傳送給FPGA后儲存到40K的RAM中用VGA來疊加顯示,之后再加一個圖像的半透明顯示。
二設計輸入
(一)verilog實現 關鍵點:若是十字光標像素為255,則是白色背景(由於8位位寬的rgb全為1表示白色,全為零表示黑色)否則為光標圖像。本次設計的模塊總共三個,頂層模塊,串口接收模塊,VGA模塊,當然咯還調用了兩個IP核,PLL和RAM。圖像疊加顯示系統框圖如下:
module vga_ram( reg [15:0] addrb,addra; parameter MAX_value = 16'd39203; reg [8:0]x; //行移動計數器最大439 reg dec_x;//行偏移量計數器減一切換標志信號 reg [9:0]cnt_h; parameter h_max =10'd799; //行計數器 //vsync場同步信號
//the flag of one_s_flag
// end end //cnt_h >=143+x讀出地址相對於讀出的數據提前一個像素點 always @(posedge clks or negedge rst_n) begin
|
(二)MATLAB處理代碼
作用:將圖片轉換198X198的數據矩陣,然后用串口助手發送給FPGA。
clc; |
(三)MATLAB常見邊緣檢測的算法
clc figure(3); wq = 1;
|
三工程成果展示:
十字光標的疊加顯示如下圖:
皮卡丘半透明實驗顯示如下圖:
MATLAB常見邊緣檢測的算法的實驗結果: