色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

FPGA Verilog實(shí)現(xiàn)基本的圖像濾波處理仿真

FPGA學(xué)習(xí)交流 ? 2018-10-19 13:39 ? 次閱讀

1、用matlab代碼,準(zhǔn)備好把圖片轉(zhuǎn)化成Vivado Simulator識(shí)別的格式,即每行一個(gè)數(shù)據(jù):
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]; //邊緣檢測(cè)
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文件轉(zhuǎn)化成圖片Matlab程序:
A=importdata('E:\matlab\Vivado\mem2image.txt');
A=A./255;
imshow(A);

注意這里的A是double類(lèi)型的,直接進(jìn)行imshow會(huì)全白,要轉(zhuǎn)化到0-1:A=A./255,或者把double類(lèi)型轉(zhuǎn)化為整形。

聲明:本文內(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

    文章

    21735

    瀏覽量

    603171
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于FPGA實(shí)現(xiàn)圖像直方圖設(shè)計(jì)

    簡(jiǎn)單,單采用FPGA來(lái)實(shí)現(xiàn)直方圖的統(tǒng)計(jì)就稍顯麻煩。若使用Xilinx和Altera的FPGA芯片,可以使用HLS來(lái)進(jìn)行圖像的加速處理。但這暫
    的頭像 發(fā)表于 12-24 10:24 ?76次閱讀
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>圖像</b>直方圖設(shè)計(jì)

    Verilog 測(cè)試平臺(tái)設(shè)計(jì)方法 Verilog FPGA開(kāi)發(fā)指南

    Verilog測(cè)試平臺(tái)設(shè)計(jì)方法是Verilog FPGA開(kāi)發(fā)中的重要環(huán)節(jié),它用于驗(yàn)證Verilog設(shè)計(jì)的正確性和性能。以下是一個(gè)詳細(xì)的Verilog
    的頭像 發(fā)表于 12-17 09:50 ?181次閱讀

    圖像高斯濾波的原理及FPGA實(shí)現(xiàn)思路

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

    FPGA 實(shí)時(shí)信號(hào)處理應(yīng)用 FPGA圖像處理中的優(yōu)勢(shì)

    優(yōu)勢(shì)之一是其并行處理能力。與傳統(tǒng)的CPU或GPU相比,FPGA可以同時(shí)執(zhí)行多個(gè)操作,這在圖像處理中尤為重要,因?yàn)?b class='flag-5'>圖像
    的頭像 發(fā)表于 12-02 10:01 ?481次閱讀

    Verilog vhdl fpga

    編程語(yǔ)言,熟悉時(shí)序約束、時(shí)序分析方法; 4.熟悉FPGA開(kāi)發(fā)環(huán)境及仿真調(diào)試工具。 5.熟悉FPGA外部存儲(chǔ)控制器及數(shù)據(jù)傳輸接口,如E2PROM、FLASH、DDR等。有FPGA高速數(shù)據(jù)
    發(fā)表于 11-12 16:40

    FPGA圖像處理領(lǐng)域的優(yōu)勢(shì)有哪些?

    單元和可編程互聯(lián)線,可以實(shí)現(xiàn)高度并行的數(shù)據(jù)處理。在圖像處理任務(wù)中,如圖像預(yù)處理、特征提取和
    發(fā)表于 10-09 14:36

    【招聘】verilog vhdl FPGA

    1.熟悉FPGA架構(gòu)及應(yīng)用,熟悉圖像算法的FPGA實(shí)現(xiàn)。 2.熟悉verilog vhdl,熟悉Xilinx或Intel等開(kāi)發(fā)工具。 3.有
    發(fā)表于 09-02 15:50

    基于matlab FPGA verilog的FIR濾波器設(shè)計(jì)

    今天和大俠簡(jiǎn)單聊一聊基于matlab FPGA verilog的FIR濾波器設(shè)計(jì),話不多說(shuō),上貨。 本次設(shè)計(jì)實(shí)現(xiàn)8階濾波器,9個(gè)系數(shù)
    發(fā)表于 07-04 20:11

    FPGA verilog HDL實(shí)現(xiàn)中值濾波

    今天給大俠簡(jiǎn)單帶來(lái)FPGA verilog HDL實(shí)現(xiàn)中值濾波,話不多說(shuō),上貨。一、實(shí)現(xiàn)步驟: 1、查看了中值
    發(fā)表于 06-18 18:50

    FPGA設(shè)計(jì)經(jīng)驗(yàn)之圖像處理

    系列:基于 FPGA圖像邊緣檢測(cè)系統(tǒng)設(shè)計(jì)(sobel算法) FPGA設(shè)計(jì)中 Verilog HDL實(shí)現(xiàn)基本的
    發(fā)表于 06-12 16:26

    matlab與FPGA數(shù)字信號(hào)處理系列 Verilog 實(shí)現(xiàn)并行 FIR 濾波

    FPGA 實(shí)現(xiàn) FIR 濾波器時(shí),最常用的是直接型結(jié)構(gòu),簡(jiǎn)單方便,在實(shí)現(xiàn)直接型結(jié)構(gòu)時(shí),可以選擇串行結(jié)構(gòu)/并行結(jié)構(gòu)/分布式結(jié)構(gòu)。 并行結(jié)構(gòu)即并行實(shí)
    發(fā)表于 05-24 07:48

    基于FPGA的實(shí)時(shí)邊緣檢測(cè)系統(tǒng)設(shè)計(jì),Sobel圖像邊緣檢測(cè),FPGA圖像處理

    計(jì)算機(jī)軟件實(shí)現(xiàn)方式有更快的處理速度。 經(jīng)驗(yàn)證,系統(tǒng)工作穩(wěn)定,滿足實(shí)時(shí)性要求 。 MATLAB 與 FPGA無(wú)線通信、圖像處理、數(shù)字信號(hào)
    發(fā)表于 05-24 07:45

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

    今天給大俠帶來(lái)FPGA設(shè)計(jì)中用Verilog HDL實(shí)現(xiàn)基本的圖像濾波處理
    發(fā)表于 05-20 16:44

    基于Verilog HDL的FPGA圖像濾波處理仿真實(shí)現(xiàn)

    注意這里的A是double類(lèi)型的,直接進(jìn)行imshow會(huì)全白,要轉(zhuǎn)化到0-1:A=A./255,或者把double類(lèi)型轉(zhuǎn)化為整形。
    發(fā)表于 04-26 11:37 ?549次閱讀
    基于<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'>仿真實(shí)現(xiàn)</b>

    FPGA圖像處理之CLAHE算法

    FPGA圖像處理--CLAHE算法(一)中介紹了為啥要用CLAHE算法來(lái)做圖像增強(qiáng)。
    的頭像 發(fā)表于 01-04 12:23 ?2529次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>圖像</b><b class='flag-5'>處理</b>之CLAHE算法
    主站蜘蛛池模板: 国产成人cao在线| 免费在线视频成人| 伸到同桌奶罩里捏她胸h| 综合亚洲桃色第一影院| 国产睡熟迷奷系列精品| 国产AV无码一二三区视频| 老少配xxxxx欧美| 亚洲青青草原| 国产精自产拍久久久久久蜜| 全黄H全肉细节文短篇| 99re热精品视频国产免费| 久久精品国产久精国产果冻传媒| 天天槽任我槽免费| 成人国产AV精品久久久久| 免费在线观看的毛片| 在线视频 日韩视频二区| 黄色日本女人| 亚洲精品久久7777777| 国产精品久久一区二区三区蜜桃| 日韩亚洲人成在线| 边做边爱播放3免费观看| 女人精69xxxxx| 99爱在线观看| 麻豆成人AV久久无码精品| 伊人久久久久久久久久| 九色PORNY真实丨国产大胸| 亚洲国产高清福利视频| 国产精品私人玩物在线观看| 受喷汁红肿抽搐磨NP双性| 成人免费毛片观看| 人曽交Z00Z0OA片| 播色屋97超碰在人人| 青青青伊人| 成人公开免费视频| 日本免费一区二区三区最新vr | 99re 这里只有精品| 噜噜噜在线AV免费观看看| 最近最新的日本字幕MV| 泷泽萝拉首部av| 99精品国产免费久久久久久下载| 妹妹我要操|