www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > > FPGA開(kāi)源工作室


基于FPGA的灰度圖像處理之冪律(伽馬變化

1 背景知識(shí)

冪律變換的基本形式為:

----------------------------------------------------------------------------------------(1)

其中c和r為正常數(shù)。有時(shí)考慮到偏移量 可將式(1)寫(xiě)為

------------------------------------------------------------------------------------(2)

偏移量一般是顯示標(biāo)定問(wèn)題,作為一個(gè)結(jié)果,通常在式(1)中忽略不計(jì)。對(duì)于不同的值,s與r的關(guān)系如圖1所示。

1 r變換曲線

與對(duì)數(shù)變換的情況類(lèi)似,部分r值的冪律曲線將較窄范圍的暗色輸入值映射為較寬范圍的輸出值,相反的,對(duì)于輸入高灰度級(jí)值時(shí)也成立。然而與對(duì)數(shù)函數(shù)不同的是,隨著r值的變化,將簡(jiǎn)單地得到一簇可能的變化曲線。如圖1所示,r>1的值所生成的曲線和r<1的值所生成的曲線的效果完全相反。當(dāng)c=r=1時(shí)簡(jiǎn)化成了恒等變換。

用于圖像獲取,打印和顯示的各種設(shè)備根據(jù)冪律來(lái)產(chǎn)生響應(yīng)。習(xí)慣上,冪律方程中的指數(shù)稱(chēng)為伽馬。用于校正這些冪律響應(yīng)現(xiàn)象的處理稱(chēng)為伽馬校正。

2 航拍圖冪律變換

如圖2所示,a航拍原圖b~dc=1且分別等于3.0,4.05.0時(shí)應(yīng)用式(1)給出的變換的結(jié)果(此例的原圖像由NASA提供)。

2 FPGA實(shí)現(xiàn)

3 FPGA實(shí)現(xiàn)冪律變換框架圖

由圖2可知對(duì)于灰度圖像直接經(jīng)過(guò)冪律變換就可以得到冪律變換圖像,但是對(duì)于FPGA直接實(shí)現(xiàn)對(duì)數(shù)公式顯然難度很大。在FPGA中我們采用基于查找表的方式進(jìn)行冪律變換。

ROM表的制作:

Matlab源碼:

clear all

close all

clc

depth = 256;

width =8;

r = [0:1:255];

x = r; %恒等變換

y =16*sqrt(r);%開(kāi)根

%z = round(y);

m = (1/256)*r.^2; %r平方

z = round(m);

fid = fopen('E:\matlab_project\log\square.mif','w');%路徑

fprintf(fid,'depth= %d; \n',depth);

fprintf(fid,'width= %d; \n',width);

fprintf(fid,'address_radix=uns;\n');

fprintf(fid,'data_radix = uns;\n');

fprintf(fid,'Content Begin \n');

for(k=1:depth)

fprintf(fid,'%d: %d; \n',k-1,z(k));

end

fprintf(fid,'end;');

hold on

plot(x);

plot(y);

plot(m);

hold off

FPGA源碼

//------------------------------------------

// power law

//------------------------------------------

wire [7:0] sqrt_data; //root

wire [7:0] square_data;//square

rom_sqrt rom_sqrt_inst(

.address(o_y_8b),

.clken(TFT_de),

.clock(TFT_clk),

.q(sqrt_data)

);

rom_square rom_square_inst(

.address(o_y_8b),

.clken(TFT_de),

.clock(TFT_clk),

.q(square_data)

);

//assign TFT_rgb = {sqrt_data[7:3],sqrt_data[7:2],sqrt_data[7:3]};     //Y

assign TFT_rgb = {square_data[7:3],square_data[7:2],square_data[7:3]}; //Y

//assign TFT_rgb = {o_y_8b[7:3],o_y_8b[7:2],o_y_8b[7:3]};     //Y

實(shí)驗(yàn)結(jié)果:

4 原圖

5原圖灰度顯示

6整體變暗

7整體變亮

結(jié)果分析:

6、圖7和圖5相比,圖6明顯變暗,圖7明顯變亮。此技術(shù)可以應(yīng)用在圖像采集系統(tǒng)上,當(dāng)拍攝的光線較暗時(shí),我們可以采取亮變換;當(dāng)光線過(guò)強(qiáng)時(shí),我們可以采取暗變化,從而達(dá)到人眼更適合的效果。

3 基于ov5640的圖像采集系統(tǒng)的冪律變換移植

verilog源碼:

//------------------------------------------

// power law

//------------------------------------------

wire [7:0] sqrt_data; //root

wire [7:0] sqrt_r_data; //root

wire [7:0] sqrt_g_data; //root

wire [7:0] sqrt_b_data; //root

wire [7:0] square_data;//square

wire [7:0] square_r_data;//square

wire [7:0] square_g_data;//square

wire [7:0] square_b_data;//square

rom_sqrt rom_sqrt_r_inst(

.address({rgb[15:11],3'b0}),

.clken(TFT_DE),

.clock(TFT_VCLK),

.q(sqrt_r_data)

);


rom_sqrt rom_sqrt_g_inst(

.address({rgb[10:5],2'b0}),

.clken(TFT_DE),

.clock(TFT_VCLK),

.q(sqrt_g_data)

);


rom_sqrt rom_sqrt_b_inst(

.address({rgb[4:0],3'b0}),

.clken(TFT_DE),

.clock(TFT_VCLK),

.q(sqrt_b_data)

);


rom_square rom_square_r_inst(

.address({rgb[15:11],3'b0}),

.clken(TFT_DE),

.clock(TFT_VCLK),

.q(square_r_data)

);

rom_square rom_square_g_inst(

.address({rgb[10:5],2'b0}),

.clken(TFT_DE),

.clock(TFT_VCLK),

.q(square_g_data)

);

rom_square rom_square_b_inst(

.address({rgb[4:0],3'b0}),

.clken(TFT_DE),

.clock(TFT_VCLK),

.q(square_b_data)

);


assign TFT_RGB = {square_r_data[7:3],square_g_data[7:2],square_b_data[7:3]};

//Y The image darker

//assign TFT_RGB = {sqrt_r_data[7:3],sqrt_g_data[7:2],sqrt_b_data[7:3]};

//Y  Image brighter

源碼解釋?zhuān)?/span>

通過(guò)對(duì)R,G,B三個(gè)通道進(jìn)行square處理后合成新的16bitRGB數(shù)據(jù)整個(gè)圖像彩色相比較原RGB圖像變暗;通過(guò)對(duì)R,G,B三個(gè)通道進(jìn)行root處理后合成新的16bitRGB數(shù)據(jù)整個(gè)圖像彩色相比較原RGB圖像變亮。

有興趣的同學(xué)可以將square數(shù)據(jù)和sqrt數(shù)據(jù)線性疊加來(lái)輸出彩色圖像或者與RGB原通道數(shù)據(jù)進(jìn)行線性疊加。結(jié)果將是下圖:

我們可以調(diào)整彩色的不同明亮度來(lái)達(dá)到不同的效果。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉