RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于FPGA的圖像差分處理

電子工程師 ? 2018-04-06 11:53 ? 次閱讀

1背景知識(shí)

差分圖像在許多領(lǐng)域得到了廣泛的應(yīng)用,比如:視頻壓縮,生物醫(yī)學(xué)診斷,天文學(xué),遙感,人臉識(shí)別等。

2 matlab仿真
MATLAB源碼:
Main.m
I = imread('flower.bmp'); figure, imshow(I);
I_gray = rgb2gray(I);figure,imshow(I_gray);
Id = mipcentraldiff(I_gray,'dx'); figure, imshow(Id);


Mipcentraldiff.m
function dimg = mipcentraldiff(img,direction)
% MIPCENTRALDIFF Finite difference calculations
%
% DIMG = MIPCENTRALDIFF(IMG,DIRECTION)
%
% Calculates the central-difference for?a given direction
% IMG : input image
% DIRECTION : 'dx'?or 'dy'
% DIMG : resultant image
%
% See also MIPFORWARDDIFF MIPBACKWARDDIFF MIPSECONDDERIV
% MIPSECONDPARTIALDERIV
% Omer Demirkaya, Musa Asyali, Prasana Shaoo, ...
% Medical Image Processing Toolbox
img = padarray(img,[1 1],'symmetric','both');
[row,col] = size(img);
dimg = zeros(row,col);
switch(direction)
case'dx',
dimg(:,2:col-1) = (img(:,3:col)-img(:,1:col-2))/2;
case'dy',
dimg(2:row-1,:) = (img(3:row,:)-img(1:row-2,:))/2;
otherwise,
disp('Direction is unknown');
end
dimg = dimg(2:end-1,2:end-1);

仿真結(jié)果:

圖1 RGB原圖

圖2 gray

圖3 central_diff

3 FPGA設(shè)計(jì)

圖4 基于串口傳圖的中心差分

如圖4所示,我們將RGB565格式轉(zhuǎn)化為Ycbcr格式,Y通道進(jìn)入中心差分模塊,完成中心差分算法。

FPGA源碼:

*/
////////////////////////////////////////////////////////////////
wire [15:0] rgb;
wire hs;
wire vs;
wire de;


wire o_hs;
wire o_vs;
wire o_de;


wire[7 : 0]o_y_8b;
wire[7 : 0]o_cb_8b;
wire[7 : 0]o_cr_8b;


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


//////////////////////////////////////////////////////////////
tft_ctrl tft_ctrl(
.Clk9M(clk9M),//系統(tǒng)輸入時(shí)鐘9MHZ
.Rst_n(Rst_n),//復(fù)位輸入,低電平復(fù)位
.data_in({Rd_data[7:0],Rd_data[15:8]}),//待顯示數(shù)據(jù)
.hcount(),//TFT行掃描計(jì)數(shù)器
.vcount(),//TFT場(chǎng)掃描計(jì)數(shù)器
.TFT_RGB(rgb),//TFT數(shù)據(jù)輸出
.TFT_HS(hs),//TFT行同步信號(hào)
.TFT_VS(vs),//TFT場(chǎng)同步信號(hào)
.TFT_CLK(TFT_clk),//TFT像素時(shí)鐘
.TFT_DE(de),//TFT數(shù)據(jù)使能
.TFT_begin(tft_begin),
.TFT_PWM(TFT_pwm)//TFT背光控制
);



rgb_to_ycbcr rgb_to_ycbcr_inst(
.clk(TFT_clk),
.i_r_8b({rgb[15:11],3'b0}),
.i_g_8b({rgb[10:5],2'b0}),
.i_b_8b({rgb[4:0],3'b0}),

.i_h_sync(hs),
.i_v_sync(vs),
.i_data_en(de),

.o_y_8b(o_y_8b),
.o_cb_8b(o_cb_8b),
.o_cr_8b(o_cr_8b),

.o_h_sync(o_hs),
.o_v_sync(o_vs),
.o_data_en(o_de)
);

reg [7:0] diff_data;
reg [7:0] o_y_8b_r0;
reg [7:0] o_y_8b_r1;
reg [7:0] o_y_8b_r2;


reg hs0;
reg hs1;
reg hs2;


reg vs0;
reg vs1;
reg vs2;


reg de0;
reg de1;
reg de2;


always @(posedge TFT_clk or negedge Rst_n) begin
if(!Rst_n) begin
hs0 <= 0;
hs1 <= 0;
hs2 <= 0;

vs0 <= 0;
vs1 <= 0;
vs2 <= 0;

de0 <= 0;
de1 <= 0;
de2 <= 0;

o_y_8b_r0 <= 0;
o_y_8b_r1 <= 0;
o_y_8b_r2 <= 0;
end
else begin
hs0 <= o_hs;
hs1 <= hs0;
hs2 <= hs1;

vs0 <= o_vs;
vs1 <= vs0;
vs2 <= vs1;

de0 <= o_de;
de1 <= de0;
de2 <= de1;

o_y_8b_r0 <= o_y_8b;
o_y_8b_r1 <= o_y_8b_r0;
o_y_8b_r2 <= o_y_8b_r1;
end
end


always @(posedge TFT_clk or negedge Rst_n) begin
if(!Rst_n)
diff_data <= 0;
else if(de2)
diff_data <= (o_y_8b_r2 - o_y_8b_r0) >>1;
else
diff_data <= diff_data;
end


assign TFT_rgb = {diff_data[7:3],diff_data[7:2],diff_data[7:3]};
assign TFT_de = de1;
assign TFT_hs = hs1;
assign TFT_vs = vs1;
Endmodule


結(jié)果展示:

圖5 FPGA中心差分結(jié)果

如圖5所示,由于手機(jī)拍攝原因,圖片不是很清晰,但基本結(jié)果一致,實(shí)驗(yàn)成功。我們將把中心差分模塊移植到基于ov5640的實(shí)時(shí)圖像采集系統(tǒng)完成rgb三通道的彩色輸出。

圖6 基于ov5640的r/g/b通道彩色實(shí)時(shí)輸出中心差分

實(shí)驗(yàn)結(jié)果成功,部分帶有彩色。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21729

    瀏覽量

    602977
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    #FPGA #圖像處理 圖像處理(概論)

    fpga圖像處理
    奔跑的小鑫
    發(fā)布于 :2023年07月27日 10:15:04

    FPGA圖像與視頻處理培訓(xùn)

     FPGA圖像與視頻處理培訓(xùn)課程目標(biāo):  1、深入了解JPEG標(biāo)準(zhǔn)和H.264標(biāo)準(zhǔn)協(xié)議;  2、掌握FPGA圖像
    發(fā)表于 07-16 14:05

    求助圖像差代碼開(kāi)發(fā)

    我現(xiàn)在用的是黑金ALINX822 FPGA視頻處理開(kāi)發(fā)平臺(tái)。我想做的是接入一路AV視頻,取該視頻流的第一幀作為背景,其后的每一幀都和該幀做差,將差后的結(jié)果輸出至VGA接口。輸入數(shù)據(jù)
    發(fā)表于 04-15 10:55

    FPGA圖像處理必備!

    圖像細(xì)節(jié)。FPGA 圖像處理方法1、圖像增強(qiáng)兩大方法:空間域方法和時(shí)間域方法(以后再詳述)2、圖像
    發(fā)表于 12-26 15:57

    基于DSP和FPGA的通用圖像處理平臺(tái)設(shè)計(jì)

    設(shè)計(jì)一種基于DSP和FPGA架構(gòu)的通用圖像處理平臺(tái),運(yùn)用FPGA實(shí)現(xiàn)微處理器接口設(shè)計(jì),并對(duì)圖像數(shù)
    發(fā)表于 12-25 17:06 ?61次下載

    基于DSP和FPGA的通用圖像處理平臺(tái)設(shè)計(jì)

    基于DSP和FPGA的通用圖像處理平臺(tái)設(shè)計(jì) 摘要:設(shè)計(jì)一種基于DSP和FPGA架構(gòu)的通用圖像處理
    發(fā)表于 02-01 11:10 ?1503次閱讀
    基于DSP和<b class='flag-5'>FPGA</b>的通用<b class='flag-5'>圖像</b><b class='flag-5'>處理</b>平臺(tái)設(shè)計(jì)

    基于FPGA圖像采集與處理

    基于FPGA圖像采集與處理,是一個(gè)適合初學(xué)者學(xué)習(xí)的書(shū)籍。 內(nèi)容詳細(xì)完整。
    發(fā)表于 03-04 15:48 ?50次下載

    FPGA圖像處理

    FPGA圖像處理
    發(fā)表于 12-14 22:29 ?19次下載

    基于FPGA和DSP的高速圖像處理系統(tǒng)

    基于FPGA和DSP的高速圖像處理系統(tǒng)
    發(fā)表于 10-19 13:43 ?20次下載
    基于<b class='flag-5'>FPGA</b>和DSP的高速<b class='flag-5'>圖像</b><b class='flag-5'>處理</b>系統(tǒng)

    略談FPGA圖像處理

    FPGA圖像處理之路,從此開(kāi)始,接下來(lái),讓我們把時(shí)間交給“圖像處理”。一休哥在動(dòng)筆之前,一直在猶豫,反復(fù)思考著一個(gè)問(wèn)題,這個(gè)問(wèn)題一直困擾著我
    發(fā)表于 05-09 17:05 ?4161次閱讀

    FPGA圖像處理方法

    圖像細(xì)節(jié)。 FPGA圖像處理方法 1、圖像增強(qiáng) 兩大方法:空間域方法和時(shí)間域方法(以后再詳述) 2、圖像
    的頭像 發(fā)表于 12-25 14:15 ?3434次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>圖像</b><b class='flag-5'>處理</b>方法

    FPGA設(shè)計(jì)中 Verilog HDL實(shí)現(xiàn)基本的圖像濾波處理仿真

    今天給大俠帶來(lái)基于FPGA的數(shù)字視頻信號(hào)處理器設(shè)計(jì),由于篇幅較長(zhǎng),三篇。今天帶來(lái)第三篇,下篇,程序測(cè)試與運(yùn)行。話(huà)不多說(shuō),上貨。 之前也有圖像處理
    的頭像 發(fā)表于 07-13 09:30 ?2816次閱讀

    FPGA中如何使用Verilog處理圖像

    FPGA項(xiàng)目旨在詳細(xì)展示如何使用Verilog處理圖像,從Verilog中讀取輸入位圖圖像(.bmp),處理并將
    的頭像 發(fā)表于 09-23 15:50 ?6046次閱讀

    FPGA學(xué)習(xí)-基于FPGA圖像處理

    圖像處理系統(tǒng)設(shè)計(jì)注意點(diǎn): 1.將算法開(kāi)發(fā)和 FPGA 實(shí)現(xiàn)分離 用軟件的圖像處理環(huán)境可以使用大批量的圖像
    的頭像 發(fā)表于 02-15 16:35 ?1244次閱讀

    FPGA圖像處理方法

    圖像細(xì)節(jié)。 FPGA 圖像處理方法 1、圖像增強(qiáng) 兩大方法:空間域方法和時(shí)間域方法(以后再詳述) 2、
    的頭像 發(fā)表于 12-02 13:15 ?1112次閱讀
    RM新时代网站-首页