精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

基于FPGA實現分離用軟件的圖像處理系統設計

Hack電子 ? 來源:Hack電子 ? 作者:Hack電子 ? 2023-04-04 10:32 ? 次閱讀

圖像處理系統設計注意點:1.將算法開發和FPGA實現分離用軟件的圖像處理環境可以使用大批量的圖像樣本進行測試及調試算法,再將算法映射到硬件上,這樣大大節省了硬件調試周期。

2.算法的精度圖像處理的算法中,大部分需要采用浮點數運算,而浮點數運算再FPGA中是非常不劃算的,因此需要轉換成定點數計算,此時會設計到浮點運算轉定點運算時精度下降的問題。

3.軟件和硬件的合理劃分這里的軟件是指DSPCPU,硬件是指FPGA;一般 結構規則 計算量大的操作如sobel算子 均值濾波可以采用硬件進行,不規則的動態可變長度循環的底層算法由軟件進行;

圖像處理FPGA 設計基本方法:1.陣列結構結合流水線處理設計例如RGB圖像,包括三組數據,處理時需要并行三通道后,每個通道進行分別的串行流水處理。2.緩存設計幀緩存 行緩存 列對齊3.資源分辨率 處理窗口 對資源影響成倍增加

基于FPGA設計框架舉例:

1、灰度直方圖統計直方圖是圖像的灰度分布統計的一種表示方法,統計目標圖像中各個灰度點的像素個數,很多對于圖像的調整算法都是基于此進行的;如何基于FPGA進行統計呢?1)由于是統計圖像的直方圖,所以一定是統計結果會在圖像經過之后才能產生,因此需要進行緩存;

緩存一:統計后的結果;

緩存二:經過統計處理器的圖像數據,以便后面和直方圖做同步處理。2)圖像常常用8位、24位、32位來表示一個像素的灰度值, 因此,統計種類分別為2^8=256/2^24=16777216/2^32=4294967296,地址位寬根據此進行選擇設定;根據不同的精度選擇不同的緩存方式:片內或片外緩存;3)處理流程:首先根據當前來的灰度值做為讀RAM地址,讀出RAM中對應灰度值的的統計值;

第二將讀出結果加一并回寫回RAM的當前地址中;第三重復操作至當前圖像處理結束;第四下一幅圖像到來之前順序按灰度值從0到最大的順序將最終結果讀出;第五讀出最終結果后,將RAM清空。4)處理細節 定義參數 圖像高度IH 圖像寬度IW 像素逐行輸入 因此以行同步脈沖的上升沿作為統計開始,行同步脈沖作為行統計計數器 行統計計數器達到最大高度時,作為統計結束標志。

2.灰度直方圖均衡化處理

1.統計出直方圖,獲取各個像素灰度累加和2.乘以均衡系數:(2^DW-1)/IW*IH(像素最大值/圖像的面積)

a0efce46-d28e-11ed-bfe3-dac502259ad0.png

3.直方圖線性拉伸處理

此節暫時略過;

4.線性濾波器

首先需要區分線性和非線性濾波器的區別,區別在于其輸出與輸入之間是否有唯一且確定的函數傳遞。線性濾波器分類:平滑濾波器:主要包括均值濾波器和高斯濾波器等 銳化濾波器:主要包括SOBEL算子 LAPLAS算子 梯度運算等 濾波器的物理意義主要是響應信號對目標信號響應后的樣子,也就是響應函數g(i,j) 滑過整個圖像,即對圖像做一個卷積處理,就得到了濾波結果。

1)均值濾波器概述

用一個圖像區域的各個像素的平均值來代替原圖像的各個像素值,主要作用是減小銳度,減小噪聲。均值濾波一般出現在圖像處理的預處理步驟, 預處理后,根據噪聲來源,例如針對椒鹽噪聲做中值濾波處理,針對高斯噪聲做高斯濾波處理 后續可能繼續做邊緣提取等復雜操作處理。

2)均值濾波器設計

設計一個濾波器可以理解成設計一個響應函數g(x,y)=Σi=-rrΣj=-rr I(x+i,y+j)) / (2r+1)2 數學公式很好理解,就是求一個窗口的所有像素灰度值之后后再除以整個窗口的面積也就是像素點個數,求出平均值;均值濾波的方法將數據存儲成3x3的矩陣,然后求這個矩陣。在圖像上對目標像素給一個模板, 該模板包括了其周圍的臨近像素(以目標象素為中心的周圍 8 個像素,構成一個濾波模板,即去掉目標像素本身),再用模板中的全體像素的平均值來代替原來像素值。a10be22a-d28e-11ed-bfe3-dac502259ad0.png(參考:http://www.cnblogs.com/ninghechuan/p/6789399.html) (參考:http://www.cnblogs.com/aslmer/p/5779079.html#undefined) shift_ram 進行數據矩陣化,將3x3矩陣的中心像素的周圍八個點求和,采取了流水線的設計方法,來增加吞吐量,然后再求平均值代替目標像素的值。

a11cf880-d28e-11ed-bfe3-dac502259ad0.png

1 //矩陣元素移位賦值

2 always @(posedge clk or negedgerst_n)begin

3 if(rst_n==1‘b0)begin

4 {p_11,p_12,p_13} 《= {5’b0,5‘b0,5’b0} ;

5 {p_21,p_22,p_23} 《= {15‘b0,15’b0,15‘b0};

6 {p_31,p_32,p_33} 《= {15’b0,15‘b0,15’b0};

7 end

8 else begin

9 if(per_href_ff0==1&&flag_do==1)begin

10 {p_11,p_12,p_13}《={p_12,p_13,row_1};

11 {p_21,p_22,p_23}《={p_22,p_23,row_2};

12 {p_31,p_32,p_33}《={p_32,p_33,row_3};

13 end

14 else begin

15 {p_11,p_12,p_13}《={5‘b0,5’b0,5‘b0};

16 {p_21,p_22,p_23}《={5’b0,5‘b0,5’b0}

17 {p_31,p_32,p_33}《={5‘b0,5’b0,5‘b0}

18 end

19 end

20 end

23 always @(posedge clk or negedge rst_n)begin

24 if(rst_n==1’b0)begin

25 mean_value_add1《=0;

26 mean_value_add2《=0;

27 mean_value_add3《=0;

28 end

29 else if(per_href_ff1)begin

30 mean_value_add1《=p_11+p_12+p_13;

31 mean_value_add2《=p_21+ 0 +p_23;

32 mean_value_add3《=p_31+p_32+p_33;

33 end

34 end

35

36 wire [8:0]mean_value;//8位數之和

37 wire [5:0]fin_y_data; //平均數,除以8,相當于左移三位。

38

39 assign mean_value=mean_value_add1+mean_value_add2+mean_value_add3;

40 assign fin_y_data=mean_value[8:3];

View Code

3)sobel算子 | -1 0 +1 |

Gx= | -2 0 +2 |

| -1 0 +1 |

| -1 -2 -1 |

Gy= | 0 0 0 |

| +1 +2 +1 |

包括X和Y兩個方向的兩套3X3矩陣,使其分別和圖像的X和Y方向進行卷積計算(矩陣的卷積計算即將所有元素做乘加計算);兩個方向的卷積結果求平方根計算;計算結果如果大于閾值則等于0xffff,如果小于閾值則等于0;最終輸出則是圖像的邊緣。

參考代碼如下:由于算子簡單以及有正負區分,因此需要做正值和負值分別計算后再進行相減計算。

1 //矩陣元素移位賦值

2 always @(posedge clk or negedge rst_n)begin

3 if(rst_n==1‘b0)begin

4 {p_11,p_12,p_13} 《= {5’b0,5‘b0,5’b0} ;

5 {p_21,p_22,p_23} 《= {15‘b0,15’b0,15‘b0};

6 {p_31,p_32,p_33} 《= {15’b0,15‘b0,15’b0};

7 end

8 else begin

9 if(per_href_ff0==1&&flag_do==1)begin

10 {p_11,p_12,p_13}《={p_12,p_13,row_1};

11 {p_21,p_22,p_23}《={p_22,p_23,row_2};

12 {p_31,p_32,p_33}《={p_32,p_33,row_3};

13 end

14 else begin

15 {p_11,p_12,p_13}《={5‘b0,5’b0,5‘b0};

16 {p_21,p_22,p_23}《={5’b0,5‘b0,5’b0}

17 {p_31,p_32,p_33}《={5‘b0,5’b0,5‘b0}

18 end

19 end

20 end

23 always @(posedge clk or negedge rst_n)begin

24 if(rst_n==1’b0)begin

25 mean_value_add1《=0;

26 mean_value_add2《=0;

27 mean_value_add3《=0;

28 end

29 else if(per_href_ff1)begin

30 mean_value_add1《=p_11+p_12+p_13;

31 mean_value_add2《=p_21+ 0 +p_23;

32 mean_value_add3《=p_31+p_32+p_33;

33 end

34 end

36 wire [8:0]mean_value;//8位數之和

37 wire [5:0]fin_y_data; //平均數,除以8,相當于左移三位。

39 assign mean_value=mean_value_add1+mean_value_add2+mean_value_add3;

40 assign fin_y_data=mean_value[8:3];

View Code 3)sobel算子 | -1 0 +1 |

Gx= | -2 0 +2 |

| -1 0 +1 |

| -1 -2 -1 |

Gy= | 0 0 0 |

| +1 +2 +1 |

5.非線性濾波器

非線性濾波器通常下是沒有特定的轉移函數,統計排序濾波器;

中值濾波

將 3*3 滑動塊中的灰度值進行排序,然后用排序的中間值取代 3*3 滑塊中心的值。示意圖如下圖所示。

a1327e80-d28e-11ed-bfe3-dac502259ad0.png

第一步:將每一行按最大值、中間值、最小值排列 第二步:提取出最大值的最小值,中間值的中間值,最小值的最大值 第三步:將第二步提取出來的三個數進行排序,中間值即我們要求的中間值。

6.圖像分割

圖像分割是將圖像劃分成若干個互不相交的小區域的過程,將圖像中有意義的特征或應用所需要的特征信息提取出來,最終結果是分割成一些具有 某種特征的單元,稱為圖像的基元。

審核編輯 :李倩

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

    關注

    552

    文章

    7962

    瀏覽量

    348310
  • FPGA
    +關注

    關注

    1626

    文章

    21678

    瀏覽量

    602040
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10829

    瀏覽量

    211196
  • 圖像處理
    +關注

    關注

    27

    文章

    1282

    瀏覽量

    56657
  • 圖像分割
    +關注

    關注

    4

    文章

    182

    瀏覽量

    17981

原文標題:基于FPGA實現分離用軟件的圖像處理系統設計

文章出處:【微信號:Hack電子,微信公眾號:Hack電子】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于FPGA實現分離軟件圖像處理系統設計

    一個圖像區域的各個像素的平均值來代替原圖像的各個像素值,主要作用是減小銳度,減小噪聲。均值濾波一般出現在圖像處理的預
    發表于 02-17 09:14 ?305次閱讀

    基于DSP的圖像處理系統的應用研究

    和可編程邏輯器件XC2S300E為核心的圖象處理系統的硬件實現方案以及通過DSP對FPGA芯片的動態配置來實現軟件控制的設計思路。   關鍵
    發表于 12-19 11:05

    基于FPGA的視頻圖像處理系統

    基于FPGA的視頻圖像處理系統
    發表于 05-23 12:18

    基于FPGA的視頻圖像處理系統

    基于FPGA的視頻圖像處理系統
    發表于 05-27 20:34

    基于FPGA的視頻圖像處理系統

    本帖最后由 lee_st 于 2017-10-31 08:26 編輯 基于FPGA的視頻圖像處理系統
    發表于 10-30 17:26

    基于FPGA的高速圖像處理系統設計

    介紹了一種單片FPGA實現的實時、多任務、高速圖像處理系統。該系統承擔著提高信噪比、壓縮數據量
    發表于 11-20 11:57 ?15次下載

    基于FPGA的玻璃缺陷圖像采集預處理系統設計

    基于FPGA的玻璃缺陷圖像采集預處理系統設計
    發表于 08-30 15:10 ?14次下載

    基于FPGA+DSP實時圖像采集處理系統設計

    基于FPGA+DSP實時圖像采集處理系統設計
    發表于 01-03 11:41 ?9次下載

    基于FPGA的視頻圖像處理系統設計_李蓮

    基于FPGA的視頻圖像處理系統設計_李蓮
    發表于 03-19 11:38 ?21次下載

    基于FPGA和DSP的高速圖像處理系統

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

    基于DSP和FPGA的模塊化實時圖像處理系統設計

    基于DSP和FPGA的模塊化實時圖像處理系統設計
    發表于 10-23 14:09 ?9次下載
    基于DSP和<b class='flag-5'>FPGA</b>的模塊化實時<b class='flag-5'>圖像</b><b class='flag-5'>處理系統</b>設計

    基于FPGA的視頻圖像處理系統的設計

    通過研究視頻圖像處理和視頻圖像幀格式以及FIF0緩存技術,提出了基于FPGA的視頻圖像處理系統
    發表于 11-22 09:13 ?4844次閱讀

    如何使用FPGA和DSP實現CCD圖像相關處理系統

    ,使用~tera的Quartus II軟件,完成了其中的核心模塊——F盯算法的硬件實現,提高了處理速度;并運用DSP處理器,設計了一個基于FPGA
    發表于 02-05 15:54 ?140次下載
    如何使用<b class='flag-5'>FPGA</b>和DSP<b class='flag-5'>實現</b>CCD<b class='flag-5'>圖像</b>相關<b class='flag-5'>處理系統</b>

    FPGA學習-基于FPGA圖像處理

    圖像處理系統設計注意點: 1.將算法開發和 FPGA 實現分離
    的頭像 發表于 02-15 16:35 ?1221次閱讀

    基于FPGA實現分離軟件圖像處理系統設計

    ?? ?圖像處理系統設計注意點:1.將算法開發和FPGA實現分離
    的頭像 發表于 03-21 19:40 ?566次閱讀