1基本原理
真彩色圖像的顏色通道分為R,G,B。按照RGB888來(lái)講,三個(gè)通道分別為8bit,范圍為0-255。
因?yàn)閳D像數(shù)據(jù)是無(wú)符號(hào)的所以再亮暗調(diào)節(jié)的時(shí)候不能超出這個(gè)范圍。
暗調(diào)節(jié):
Rnew=R-step 當(dāng)(R》step)Rnew=0 當(dāng)(R《step)
Gnew=G-step 當(dāng)(G》step)Gnew=0 當(dāng)(G《step)
Bnew=B-step 當(dāng)B》step)Bnew=0 當(dāng)(B《step)
2 verilog源碼設(shè)計(jì)
圖像的亮暗主要通過(guò)按鈕來(lái)調(diào)節(jié),調(diào)節(jié)的大?。ú竭M(jìn))COE來(lái)控制。
其中數(shù)據(jù)的處理需要一個(gè)像素時(shí)鐘,所以需要對(duì)VGA的其他同步信號(hào)進(jìn)行1 clock的延時(shí)輸出。
/**********************************
copyright@FPGA OPEN SOURCE STUDIO
`define COE 30*key_cnt
module dark#(
parameter DW = 24
)(
input pixelclk,
input reset_n,
input [DW-1:0] din,//rgb in
input i_hsync,
input i_vsync,
input i_de,
input [1:0] key_cnt,
output [DW-1:0]dout,//rgb out
output o_hsync,
output o_vsync,
output o_de
);
wire [7:0] r,g,b;
reg [7:
0] rout,gout,bout;
reg hsync_r;reg vsync_r;reg de_r;
assign r=din[23:16];assign g=din[15:8];assign b=din[7:0];
//assign rdark =(r》`COE)?(r-`COE):8‘b0;
assign o_hsync = hsync_r;assign o_vsync = vsync_r;assign o_de = de_r;assign dout={rout,gout,bout};
//synchronizationalways @(posedge pixelclk) begin hsync_r 《= i_hsync; vsync_r 《= i_vsync; de_r 《= i_de;end
always @(posedge pixelclk or negedge reset_n)begin if(!reset_n) begin rout《=0; gout《=0; bout《=0; end else begin case(key_cnt) 2’b00:begin rout《=r; gout《=g; bout《=b; end 2‘b01,2’b10,2‘b11:begin rout《=(r》`COE)?(r-`COE):8’b0; gout《=(g》`COE)?(g-`COE):8‘b0; bout《=(b》`COE)?(b-`COE):8’b0; end endcase endend
endmodule
3仿真效果
從亮到暗的變化很明顯。
編輯:jq
-
仿真
+關(guān)注
關(guān)注
50文章
4023瀏覽量
133336 -
圖像數(shù)據(jù)
+關(guān)注
關(guān)注
0文章
52瀏覽量
11268 -
Verilog
+關(guān)注
關(guān)注
28文章
1343瀏覽量
109925 -
VGA
+關(guān)注
關(guān)注
5文章
529瀏覽量
62764
原文標(biāo)題:基于FPGA圖像的亮暗調(diào)節(jié)--變暗調(diào)節(jié)(附源碼)
文章出處:【微信號(hào):leezym0317,微信公眾號(hào):FPGA開(kāi)源工作室】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論