哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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)注

    1664

    文章

    22501

    瀏覽量

    639007
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    綜合圖像處理硬件平臺(tái)設(shè)計(jì)資料:2-基于6U VPX的雙TMS320C6678+Xilinx FPGA K7 XC7K420T的圖像信號(hào)處理

    FPGA光纖, XCVU9P板卡, 高速圖像采集, 基帶信號(hào)處理, 加速計(jì)算卡, 無(wú)線仿真平臺(tái), 圖像信號(hào)
    的頭像 發(fā)表于 03-30 14:39 ?127次閱讀
    綜合<b class='flag-5'>圖像</b><b class='flag-5'>處理</b>硬件平臺(tái)設(shè)計(jì)資料:2-基于6U VPX的雙TMS320C6678+Xilinx <b class='flag-5'>FPGA</b> K7 XC7K420T的<b class='flag-5'>圖像</b>信號(hào)<b class='flag-5'>處理</b>板

    FPGA 入門(mén)必看:Verilog 與 VHDL 編程基礎(chǔ)解析!

    很多開(kāi)發(fā)者第一次接觸FPGA,都會(huì)有同樣的疑問(wèn):FPGA是硬件,不是軟件,怎么寫(xiě)程序?答案就是用硬件描述語(yǔ)言(HDL),最常用的就是Verilog和VHDL。今天,我們就帶你入門(mén),搞清楚FPG
    的頭像 發(fā)表于 01-19 09:05 ?700次閱讀
    <b class='flag-5'>FPGA</b> 入門(mén)必看:<b class='flag-5'>Verilog</b> 與 VHDL 編程基礎(chǔ)解析!

    【產(chǎn)品介紹】Modelsim:HDL語(yǔ)言仿真軟件

    概述ModelSim是業(yè)界最優(yōu)秀的HDL語(yǔ)言仿真軟件,它能提供友好的仿真環(huán)境,是業(yè)界唯一的單內(nèi)核支持VHDL和Verilog混合仿真仿真
    的頭像 發(fā)表于 11-13 11:41 ?668次閱讀
    【產(chǎn)品介紹】Modelsim:HDL語(yǔ)言<b class='flag-5'>仿真</b>軟件

    圖像采集卡:機(jī)器視覺(jué)時(shí)代的圖像數(shù)據(jù)核心樞紐

    一、圖像采集卡的技術(shù)本質(zhì):從信號(hào)到數(shù)據(jù)的“轉(zhuǎn)換器”與“傳輸通道”圖像采集卡(ImageCaptureCard)是機(jī)器視覺(jué)系統(tǒng)的核心硬件組件,本質(zhì)是通過(guò)專(zhuān)用芯片(如FPGA、ASIC)實(shí)現(xiàn)
    的頭像 發(fā)表于 11-12 15:15 ?855次閱讀
    <b class='flag-5'>圖像</b>采集卡:機(jī)器視覺(jué)時(shí)代的<b class='flag-5'>圖像</b>數(shù)據(jù)核心樞紐

    如何使用FPGA實(shí)現(xiàn)SRIO通信協(xié)議

    本例程詳細(xì)介紹了如何在FPGA實(shí)現(xiàn)Serial RapidIO(SRIO)通信協(xié)議,并通過(guò)Verilog語(yǔ)言進(jìn)行編程設(shè)計(jì)。SRIO作為一種高速、低延遲的串行互連技術(shù),在高性能計(jì)算和嵌入式系統(tǒng)中廣
    的頭像 發(fā)表于 11-12 14:38 ?6058次閱讀
    如何使用<b class='flag-5'>FPGA</b><b class='flag-5'>實(shí)現(xiàn)</b>SRIO通信協(xié)議

    利用 NucleiStudio IDE 和 vivado 進(jìn)行軟硬件聯(lián)合仿真

    本文利用NucleiStudio IDE 和 vivado 對(duì) NICE demo協(xié)處理器進(jìn)行軟硬件聯(lián)合仿真。 1. 下載demo_nice例程:https://github.com
    發(fā)表于 11-05 13:56

    使用NucleiStudio生成tb仿真需要的.verilog文件

    打開(kāi)仿真頂層文件tb_top.v,存放在ITCM模塊里面的指令是通過(guò)readmemh函數(shù)讀入.verilog文件實(shí)現(xiàn)的: 下面通過(guò)對(duì)NucleiStudio IDE進(jìn)行設(shè)置,實(shí)現(xiàn)將c
    發(fā)表于 11-05 07:07

    利用vivado實(shí)現(xiàn)對(duì)e200_opensource 蜂鳥(niǎo)E203一代的仿真

    基于Nuclei Studio 的 Nice Demo 協(xié)處理仿真生成的verilog文件可直接加入到tb里進(jìn)行軟硬協(xié)同仿真,不過(guò)一代蜂鳥(niǎo)里面沒(méi)有添加NICE協(xié)
    發(fā)表于 10-31 06:14

    如何利用Verilog HDL在FPGA實(shí)現(xiàn)SRAM的讀寫(xiě)測(cè)試

    本篇將詳細(xì)介紹如何利用Verilog HDL在FPGA實(shí)現(xiàn)SRAM的讀寫(xiě)測(cè)試。SRAM是一種非易失性存儲(chǔ)器,具有高速讀取和寫(xiě)入的特點(diǎn)。在FPGA
    的頭像 發(fā)表于 10-22 17:21 ?4553次閱讀
    如何利用<b class='flag-5'>Verilog</b> HDL在<b class='flag-5'>FPGA</b>上<b class='flag-5'>實(shí)現(xiàn)</b>SRAM的讀寫(xiě)測(cè)試

    光纖圖像處理卡設(shè)計(jì)原理圖:520-基于ZU15EG 適配AWR2243的雷達(dá)驗(yàn)證底板 XCZU15EG架構(gòu)高速信號(hào)處理

    高速信號(hào)處理, FPGA光纖, 光纖圖像處理, XCZU15EG架構(gòu)
    的頭像 發(fā)表于 08-28 10:39 ?767次閱讀
    光纖<b class='flag-5'>圖像</b><b class='flag-5'>處理</b>卡設(shè)計(jì)原理圖:520-基于ZU15EG 適配AWR2243的雷達(dá)驗(yàn)證底板 XCZU15EG架構(gòu)高速信號(hào)<b class='flag-5'>處理</b>板

    友思特方案 | FPGA 加持,友思特圖像采集卡高速預(yù)處理助力視覺(jué)系統(tǒng)運(yùn)行提速增效

    圖像預(yù)處理圖像處理關(guān)鍵中間環(huán)節(jié),通過(guò)優(yōu)化傳感器到主機(jī)的數(shù)據(jù)傳輸處理為后續(xù)減負(fù)。其算法依托硬件執(zhí)行,搭載?
    的頭像 發(fā)表于 08-20 09:18 ?1644次閱讀
    友思特方案 | <b class='flag-5'>FPGA</b> 加持,友思特<b class='flag-5'>圖像</b>采集卡高速預(yù)<b class='flag-5'>處理</b>助力視覺(jué)系統(tǒng)運(yùn)行提速增效

    FPGA 加持,友思特圖像采集卡高速預(yù)處理助力視覺(jué)系統(tǒng)運(yùn)行提速增效

    圖像預(yù)處理圖像處理關(guān)鍵環(huán)節(jié),可優(yōu)化數(shù)據(jù)傳輸、減輕主機(jī)負(fù)擔(dān),其算法可在FPGA等硬件上執(zhí)行。友思特FPG
    的頭像 發(fā)表于 08-13 17:41 ?1330次閱讀
    <b class='flag-5'>FPGA</b> 加持,友思特<b class='flag-5'>圖像</b>采集卡高速預(yù)<b class='flag-5'>處理</b>助力視覺(jué)系統(tǒng)運(yùn)行提速增效

    基于Matlab與FPGA的雙邊濾波算法實(shí)現(xiàn)

    前面發(fā)過(guò)中值、均值、高斯濾波的文章,這些只考慮了位置,并沒(méi)有考慮相似度。那么雙邊濾波來(lái)了,既考慮了位置,有考慮了相似度,對(duì)邊緣的保持比前幾個(gè)好很多,當(dāng)然實(shí)現(xiàn)上也是復(fù)雜很多。本文將從原理入手,采用Matlab與
    的頭像 發(fā)表于 07-10 11:28 ?4806次閱讀
    基于Matlab與<b class='flag-5'>FPGA</b>的雙邊<b class='flag-5'>濾波</b>算法<b class='flag-5'>實(shí)現(xiàn)</b>

    【高云GW5AT-LV60 開(kāi)發(fā)套件試用體驗(yàn)】基于開(kāi)發(fā)板進(jìn)行深度學(xué)習(xí)實(shí)踐,并盡量實(shí)現(xiàn)皮膚病理圖片的識(shí)別

    收到開(kāi)發(fā)板已經(jīng)有一段時(shí)間了,最初申請(qǐng)的時(shí)候?qū)懙氖窍M軌?b class='flag-5'>實(shí)現(xiàn)基于fpga圖像識(shí)別相關(guān)的項(xiàng)目,最初對(duì)這個(gè)還是有些模糊的,不過(guò)這幾天折騰下來(lái),似乎有點(diǎn)思路了,但是畢竟基礎(chǔ)還是有點(diǎn)薄弱,所以廢話不多
    發(fā)表于 06-11 22:35

    基于 FPGA 的任意波形發(fā)生器+低通濾波器系統(tǒng)設(shè)計(jì)

    對(duì)圖像進(jìn)行平滑去噪處理。 本次設(shè)計(jì)將用兩種方式實(shí)現(xiàn)低通濾波器。 方法一:利用Vivado自身具備的DDS和FIR的IP核實(shí)現(xiàn); 方法二:通過(guò)
    發(fā)表于 05-07 15:34
    闻喜县| 木兰县| 常宁市| 镇远县| 株洲县| 永嘉县| 河西区| 华阴市| 津市市| 秦皇岛市| 玉树县| 城口县| 崇义县| 斗六市| 湛江市| 屏东市| 桐柏县| 灵武市| 三门县| 龙里县| 东港市| 佛山市| 西和县| 徐汇区| 电白县| 福海县| 富锦市| 施秉县| 西城区| 桐城市| 湟中县| 宝清县| 轮台县| 涡阳县| 资源县| 长武县| 平定县| 锡林郭勒盟| 靖安县| 涟源市| 稻城县|