在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FPGA Verilog實現基本的圖像濾波處理仿真

FPGA學習交流 ? 2018-10-19 13:39 ? 次閱讀

1、用matlab代碼,準備好把圖片轉化成Vivado Simulator識別的格式,即每行一個數據:
img = imread('E:\matlab\Images\2016-09-05-211710.jpg');
if size(img,3)==3
img = rgb2gray(img);
end
height = size(img, 1);
width = size(img, 2);
s = fopen('image2mem.txt','wb'); %opens the output file
cnt = 0;
for r=1:height
for c=1:width
cnt = cnt + 1;
grey=img(r,c);
greyb = dec2bin(grey,8);
Outbyte =greyb(1:8);

if (Outbyte(1:4) == '0000')fprintf(s,'0%X',bin2dec(Outbyte));
else fprintf(s,'%X',bin2dec(Outbyte)); end
if (mod(cnt,1) == 0)fprintf(s,'\r\n'); end
end
end
figure,imshow(img);
fclose(s);

2、EdgeSobel的Verilog源代碼:
`timescale 1ns / 1ps

module EdgeSobel
(
input clk,
input [7:0] inData,
input [11:0]x,
input [11:0]y,
output [7:0] outData
);
parameter pixel_depth=8;
parameter frame_width=640;
parameter block_width=3;
parameter block_height=3;

parameter shiftRegSize=pixel_depth*((block_height-1)*frame_width+block_width);

reg[shiftRegSize-1:0] shiftReg;
wire [block_width*block_height*pixel_depth-1:0] Window;

initial begin shiftReg=10264'b0;end

always@(posedge clk)if((x<640)&&(y<480))shiftReg<={shiftReg,inData};

genvar i,j;
generate
for(i = 0; i < block_height; i = i + 1) begin : array
for(j = 0; j < block_width; j = j + 1) begin : vector
assign Window[pixel_depth*(i * block_width + j)+:pixel_depth] =shiftReg[pixel_depth*(i*frame_width+j)+:pixel_depth];
end
end
endgenerate

wire [7:0] average;
assign average =
(Window[7:0]+Window[15:8]+Window[23:16]+
//Window[31:24]+Window[39:32]+Window[47:40]+
Window[31:24]+Window[39:32]+Window[47:40]+
Window[55:48]+Window[63:56]+Window[71:64])/9 ;

wire signed [pixel_depth+1:0] Gx;
wire signed [pixel_depth+1:0] Gy;
wire [pixel_depth+1:0] Gxabs;
wire [pixel_depth+1:0] Gyabs;
wire [pixel_depth+1:0] G;

assign Gx = shiftReg[pixel_depth*(0*frame_width+2)+:pixel_depth]
+2*shiftReg[pixel_depth*(1*frame_width+2)+:pixel_depth]
+ shiftReg[pixel_depth*(2*frame_width+2)+:pixel_depth]
- shiftReg[pixel_depth*(0*frame_width+0)+:pixel_depth]
-2*shiftReg[pixel_depth*(1*frame_width+0)+:pixel_depth]
- shiftReg[pixel_depth*(2*frame_width+0)+:pixel_depth];
assign Gy = shiftReg[pixel_depth*(2*frame_width+0)+:pixel_depth]
+2*shiftReg[pixel_depth*(2*frame_width+1)+:pixel_depth]
+ shiftReg[pixel_depth*(2*frame_width+2)+:pixel_depth]
- shiftReg[pixel_depth*(0*frame_width+0)+:pixel_depth]
-2*shiftReg[pixel_depth*(0*frame_width+1)+:pixel_depth]
- shiftReg[pixel_depth*(0*frame_width+2)+:pixel_depth];
assign Gxabs = (Gx>0)?Gx-Gx);
assign Gyabs = (Gy>0)?Gy-Gy);
assign G = Gxabs+Gyabs;

//assign outData = average; //平滑
assign outData = G[9:2]; //邊緣檢測
endmodule

3、仿真文件:tb_EdgeSobel.v
`timescale 1ns / 1ps

module tb_edgesobel;

reg clk;
reg [7:0] inData;
reg [19:0] cnt;
reg [9:0] row;
wire [7:0] outData;
reg [7:0] image [307199:0];
integer file_id;
reg [4:0] frame_cnt;


initial
begin
$readmemh("E:/matlab/Vivado/image2mem.txt", image);
file_id = $fopen("E:/matlab/Vivado/mem2image.txt","w");
clk = 0;
cnt = 0;
row = 0;
frame_cnt = 0;
end

EdgeSobel u_2
(
.clk(clk),
.x(1),
.y(1),
.inData(inData),
.outData(outData)
);

always #1 clk = ~clk;

always@(posedge clk)
begin
if(cnt == 307200)
begin
cnt = 0;
row = 0;
frame_cnt = frame_cnt + 1;
end
else
inData = image[cnt];
cnt = cnt+1;
if(frame_cnt==1)
begin
$fwrite(file_id, "%d ", outData);
if(((cnt % 640)==0) &&(cnt>0))
begin
$fwrite(file_id,"\r\n");
row = row + 1;
end;
end
end
endmodule

4、把輸出的txt文件轉化成圖片Matlab程序:
A=importdata('E:\matlab\Vivado\mem2image.txt');
A=A./255;
imshow(A);

注意這里的A是double類型的,直接進行imshow會全白,要轉化到0-1:A=A./255,或者把double類型轉化為整形。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1630

    文章

    21777

    瀏覽量

    604679
收藏 人收藏

    評論

    相關推薦

    基于FPGA實現圖像直方圖設計

    簡單,單采用FPGA實現直方圖的統計就稍顯麻煩。若使用Xilinx和Altera的FPGA芯片,可以使用HLS來進行圖像的加速處理。但這暫
    的頭像 發表于 12-24 10:24 ?161次閱讀
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>實現</b><b class='flag-5'>圖像</b>直方圖設計

    Verilog 測試平臺設計方法 Verilog FPGA開發指南

    Verilog測試平臺設計方法是Verilog FPGA開發中的重要環節,它用于驗證Verilog設計的正確性和性能。以下是一個詳細的Verilog
    的頭像 發表于 12-17 09:50 ?340次閱讀

    卡爾曼濾波圖像處理中的應用實例 如何調優卡爾曼濾波參數

    卡爾曼濾波圖像處理中的應用實例 卡爾曼濾波圖像處理中主要應用于目標跟蹤、噪聲消除和
    的頭像 發表于 12-16 09:11 ?463次閱讀

    圖像高斯濾波的原理及FPGA實現思路

    1.概念 高斯分布 圖像濾波之高斯濾波介紹 圖像處理算法|高斯濾波 高斯
    的頭像 發表于 12-07 09:12 ?412次閱讀
    <b class='flag-5'>圖像</b>高斯<b class='flag-5'>濾波</b>的原理及<b class='flag-5'>FPGA</b><b class='flag-5'>實現</b>思路

    FPGA 實時信號處理應用 FPGA圖像處理中的優勢

    優勢之一是其并行處理能力。與傳統的CPU或GPU相比,FPGA可以同時執行多個操作,這在圖像處理中尤為重要,因為圖像
    的頭像 發表于 12-02 10:01 ?746次閱讀

    Verilog vhdl fpga

    編程語言,熟悉時序約束、時序分析方法; 4.熟悉FPGA開發環境及仿真調試工具。 5.熟悉FPGA外部存儲控制器及數據傳輸接口,如E2PROM、FLASH、DDR等。有FPGA高速數據
    發表于 11-12 16:40

    FPGA圖像處理領域的優勢有哪些?

    單元和可編程互聯線,可以實現高度并行的數據處理。在圖像處理任務中,如圖像處理、特征提取和
    發表于 10-09 14:36

    【招聘】verilog vhdl FPGA

    1.熟悉FPGA架構及應用,熟悉圖像算法的FPGA實現。 2.熟悉verilog vhdl,熟悉Xilinx或Intel等開發工具。 3.有
    發表于 09-02 15:50

    基于matlab FPGA verilog的FIR濾波器設計

    今天和大俠簡單聊一聊基于matlab FPGA verilog的FIR濾波器設計,話不多說,上貨。 本次設計實現8階濾波器,9個系數
    發表于 07-04 20:11

    FPGA verilog HDL實現中值濾波

    今天給大俠簡單帶來FPGA verilog HDL實現中值濾波,話不多說,上貨。一、實現步驟: 1、查看了中值
    發表于 06-18 18:50

    FPGA設計經驗之圖像處理

    系列:基于 FPGA圖像邊緣檢測系統設計(sobel算法) FPGA設計中 Verilog HDL實現基本的
    發表于 06-12 16:26

    matlab與FPGA數字信號處理系列 Verilog 實現并行 FIR 濾波

    FPGA 實現 FIR 濾波器時,最常用的是直接型結構,簡單方便,在實現直接型結構時,可以選擇串行結構/并行結構/分布式結構。 并行結構即并行
    發表于 05-24 07:48

    基于FPGA的實時邊緣檢測系統設計,Sobel圖像邊緣檢測,FPGA圖像處理

    計算機軟件實現方式有更快的處理速度。 經驗證,系統工作穩定,滿足實時性要求 。 MATLAB 與 FPGA無線通信、圖像處理、數字信號
    發表于 05-24 07:45

    FPGA設計中 Verilog HDL實現基本的圖像濾波處理仿真

    今天給大俠帶來FPGA設計中用Verilog HDL實現基本的圖像濾波處理
    發表于 05-20 16:44

    基于Verilog HDL的FPGA圖像濾波處理仿真實現

    注意這里的A是double類型的,直接進行imshow會全白,要轉化到0-1:A=A./255,或者把double類型轉化為整形。
    發表于 04-26 11:37 ?596次閱讀
    基于<b class='flag-5'>Verilog</b> HDL的<b class='flag-5'>FPGA</b><b class='flag-5'>圖像</b><b class='flag-5'>濾波</b><b class='flag-5'>處理</b><b class='flag-5'>仿真實現</b>
    主站蜘蛛池模板: 夜夜嘿视频免费看| 日本不卡一| 久久久久国产午夜| 久操视频免费观看| 国产播放啪视频免费视频| 黄色三级网站| 天天噜噜色| 午夜色视频| 色婷婷在线视频观看| 日韩一级片免费看| 欧美精品综合一区二区三区| 欧美城天堂网| 黄色片啪啪| 伊人狼人综合网| 人人干在线观看| 1024你懂的在线观看| 在线免费观看一区二区三区| 高h污快穿文汁水四溅| 天天色影| 另类激情网| 91成人在线播放| 色综合天天综合网看在线影院 | 久久在线免费观看| 亚洲jizzjizz中文在线播放| 日本三级吹潮| 国产资源在线播放| 午夜国产福利在线| 国产精品久久久久久影院| 一区二区三区在线看| 在线毛片网| 欧美一级视频免费| 成年黄网站免费大全毛片| 日不卡在线| 69女poren60| 亚洲国内精品| 久久综合99| 天天爽天天狼久久久综合| 成年女人色费视频免费| 高h办公室| 欧美乱码视频| 无毒不卡|