《基于FPGA的图像差分处理.doc》由会员分享,可在线阅读,更多相关《基于FPGA的图像差分处理.doc(2页珍藏版)》请在三一文库上搜索。
1、基于FPGA的图像差分处理1背景知识差分图像在许多领域得到了广泛的应用,比如:视频压缩,生物医学诊断,天文学,遥感,人脸识别等。2 matlab仿真MATLAB源码:Main.mI = imread(flower.bmp); figure, imshow(I);I_gray = rgb2gray(I);figure,imshow(I_gray);Id = mipcentraldiff(I_gray,dx); figure, imshow(Id);Mipcentraldiff.mfunction dimg = mipcentraldiff(img,direction)% MIPCENTRALDI
2、FF 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 Asyal
3、i, Prasana Shaoo, .% Medical Image Processing Toolboximg = padarray(img,1 1,symmetric,both);row,col = size(img);dimg = zeros(row,col);switch(direction)casedx,dimg(:,2:col-1) = (img(:,3:col)-img(:,1:col-2)/2;casedy,dimg(2:row-1,:) = (img(3:row,:)-img(1:row-2,:)/2;otherwise,disp(Direction is unknown);
4、enddimg = dimg(2:end-1,2:end-1);仿真结果:图1 RGB原图图2 gray图3 central_diff3 FPGA设计图4 基于串口传图的中心差分如图4所示,我们将RGB565格式转化为Ycbcr格式,Y通道进入中心差分模块,完成中心差分算法。FPGA源码:*/wire 15:0 rgb;wire hs;wire vs;wire de;wire o_hs;wire o_vs;wire o_de;wire7 : 0o_y_8b;wire7 : 0o_cb_8b;wire7 : 0o_cr_8b;/assign TFT_rgb = o_y_8b7:3,o_y_8b7
5、:2,o_y_8b7:3; /Y/assign TFT_rgb = o_cb_8b7:3,o_cb_8b7:2,o_cb_8b7:3; /cb/assign TFT_rgb = o_cr_8b7:3,o_cr_8b7:2,o_cr_8b7:3; /cr/tft_ctrl tft_ctrl(.Clk9M(clk9M),/系统输入时钟9MHZ.Rst_n(Rst_n),/复位输入,低电平复位.data_in(Rd_data7:0,Rd_data15:8),/待显示数据.hcount(),/TFT行扫描计数器.vcount(),/TFT场扫描计数器.TFT_RGB(rgb),/TFT数据输出.TFT
6、_HS(hs),/TFT行同步信号.TFT_VS(vs),/TFT场同步信号.TFT_CLK(TFT_clk),/TFT像素时钟.TFT_DE(de),/TFT数据使能.TFT_begin(tft_begin),.TFT_PWM(TFT_pwm)/TFT背光控制);rgb_to_ycbcr rgb_to_ycbcr_inst( .clk(TFT_clk), .i_r_8b(rgb15:11,3b0), .i_g_8b(rgb10:5,2b0), .i_b_8b(rgb4:0,3b0), .i_h_sync(hs), .i_v_sync(vs), .i_data_en(de), .o_y_8b(
7、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 1; else diff_data 图5 FPGA中心差分结果如图5所示,由于手机拍摄原因,图片不是很清晰,但基本结果一致,实验成功。我们将把中心差分模块移植到基于ov5640的实时图像采集系统完成rgb三通道的彩色输出。图6 基于ov5640的r/g/b通道彩色实时输出中心差分实验结果成功,部分带有彩色。
链接地址:https://www.31doc.com/p-3410371.html