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

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

基于FPGA形態(tài)學(xué)開運(yùn)算、閉運(yùn)算和梯度的實(shí)現(xiàn)

1 概述

開運(yùn)算一般平滑物體的輪廓、斷開較窄的狹頸并消除細(xì)的突出物。閉運(yùn)算同樣也會(huì)平滑輪廓的一部分,但與開操作相反,它通常會(huì)彌合較窄的間斷和細(xì)長的溝壑,消除小的孔洞,填補(bǔ)輪廓線的中的斷裂。

形態(tài)學(xué)開運(yùn)算與閉運(yùn)算:

形態(tài)學(xué)開運(yùn)算就是先對(duì)圖像進(jìn)行腐蝕然后在膨脹,表達(dá)式即:


形態(tài)學(xué)閉運(yùn)算就是先對(duì)圖像進(jìn)行膨脹然后在腐蝕,表達(dá)式即:

1 開運(yùn)算和閉運(yùn)算演示(原圖由美國國家標(biāo)準(zhǔn)和技術(shù)研究所提供)

如圖1所示,a為噪聲圖像,b為結(jié)構(gòu)元,c為腐蝕后的圖像,dA的開運(yùn)算,e為開運(yùn)算的膨脹,f為開運(yùn)算的閉運(yùn)算。f相對(duì)于a經(jīng)過了一系列的形態(tài)學(xué)運(yùn)算之后紋理變得更加清晰,只為后期的指紋識(shí)別打下基礎(chǔ)。

膨脹和腐蝕可與圖像相減結(jié)合起來得到一幅圖像的形態(tài)學(xué)梯度。

形態(tài)學(xué)梯度:

灰度圖像的膨脹減去灰度圖像的腐蝕就是形態(tài)學(xué)梯度,表達(dá)式:

2 CT掃描頭部圖像

如圖2所示,a為頭部CT掃描圖像,b為膨脹后的結(jié)果,c為腐蝕后的結(jié)果,d為形態(tài)學(xué)梯度。計(jì)算圖b與圖c的差得到圖d,圖d顯示出了區(qū)域間的邊界被清楚地描繪出來。這與二維微分圖像的預(yù)期結(jié)果相同。

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

基于matlab的形態(tài)學(xué)開運(yùn)算以及閉運(yùn)算源碼:

%% image open close

clear all

img_a = imread('flower.bmp');

figure,imshow(img_a);

title('rgb');

img_b = rgb2gray(img_a);

figure,imshow(img_b);

title('gray');

a = [1,1,1;

1,1,1;

1,1,1];

img_c = imopen(img_b,a);

figure,imshow(img_c);

title('open');

img_d = imclose(img_b,a);

figure,imshow(img_d);

title('close');

3 實(shí)驗(yàn)原圖

4 灰度圖像

5 開運(yùn)算的結(jié)果

6 閉運(yùn)算的結(jié)果

基于matlab的形態(tài)學(xué)梯度源碼:

%%gradient

clear all

img_a = imread('flower.bmp');

figure,imshow(img_a);

title('rgb');

img_b = rgb2gray(img_a);

figure,imshow(img_b);

title('gray');

a = [1,1,1;

1,1,1;

1,1,1];

img_c = imerode(img_b, a);

figure,imshow(img_c);

title('erode');

img_d = imdilate(img_b, a);

figure,imshow(img_d);

title('dilate');

img_e = img_d -img_c;

figure,imshow(img_e);

title('gradient');

img_f = img_b -img_c;

figure,imshow(img_f);

title('gradient1');

img_g = img_d -img_b;

figure,imshow(img_g);

title('gradient2');

7 梯度0

8 梯度1

9 梯度2

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

10 為整個(gè)設(shè)計(jì)的RTL級(jí)電路圖

形態(tài)學(xué)開運(yùn)算源碼:

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

// open

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

erode erode_inst(

.clk(TFT_clk),

.rst_n(Rst_n),

.hs_in(o_hs),

.vs_in(o_vs),

.din(o_y_8b),

.din_valid(o_de),

.dout(erode_out),

.dout_valid(erode_de),

.hs_out(erode_hs),

.vs_out(erode_vs)

);

dilate dilate_inst(

.clk(TFT_clk),

.rst_n(Rst_n),

.hs_in(erode_hs),

.vs_in(erode_vs),

.din(erode_out),

.din_valid(erode_de),

.dout(dilate_out),

.dout_valid(TFT_de),

.hs_out(TFT_hs),

.vs_out(TFT_vs)

);

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

結(jié)果:

11 FPGA開運(yùn)算效果

形態(tài)學(xué)閉運(yùn)算源碼:

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

// close

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

dilate dilate_inst(

.clk(TFT_clk),

.rst_n(Rst_n),

.hs_in(o_hs),

.vs_in(o_vs),

.din(o_y_8b),

.din_valid(o_de),

.dout(dilate_out),

.dout_valid(dilate_de),

.hs_out(dilate_hs),

.vs_out(dilate_vs)

);

erode erode_inst(

.clk(TFT_clk),

.rst_n(Rst_n),

.hs_in(dilate_hs),

.vs_in(dilate_vs),

.din(dilate_out),

.din_valid(dilate_de),

.dout(erode_out),

.dout_valid(TFT_de),

.hs_out(TFT_hs),

.vs_out(TFT_vs)

);

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

結(jié)果:

12 FPGA閉運(yùn)算效果

形態(tài)學(xué)梯度源碼:

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

//Morphological gradient.

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

erode erode_inst(

.clk(TFT_clk),

.rst_n(Rst_n),

.hs_in(o_hs),

.vs_in(o_vs),

.din(o_y_8b),

.din_valid(o_de),

.dout(erode_out),

.dout_valid(TFT_de),

.hs_out(TFT_hs),

.vs_out(TFT_vs)

);

dilate dilate_inst(

.clk(TFT_clk),

.rst_n(Rst_n),

.hs_in(o_hs),

.vs_in(o_vs),

.din(o_y_8b),

.din_valid(o_de),

.dout(dilate_out),

.dout_valid(),

.hs_out(),

.vs_out()

);

assign dout = dilate_out - erode_out;

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

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

結(jié)果:

13  FPGA形態(tài)學(xué)梯度效果

總結(jié):

迄今為止許多形態(tài)學(xué)的技術(shù)都是以灰度級(jí)形態(tài)學(xué)概念為基礎(chǔ)。這包括形態(tài)學(xué)平滑、形態(tài)學(xué)梯度、頂帽變換、底帽變換、粒度測(cè)定和紋理分割等。


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