《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 其他 > 教程:基于FPGA實現分離用軟件的圖像處理系統設計

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

2023-02-19
來源:Hack電子

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

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

  3.軟件和硬件的合理劃分這里的軟件是指DSP,CPU,硬件是指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(像素最大值/圖像的面積)

  07.JPG

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 個像素,構成一個濾波模板,即去掉目標像素本身),再用模板中的全體像素的平均值來代替原來像素值。

06.JPG

(參考:http://www.cnblogs.com/ninghechuan/p/6789399.html) 

(參考:http://www.cnblogs.com/aslmer/p/5779079.html#undefined) shift_ram 進行數據矩陣化,將3x3矩陣的中心像素的周圍八個點求和,采取了流水線的設計方法,來增加吞吐量,然后再求平均值代替目標像素的值。

05.JPG

  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

  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 滑塊中心的值。示意圖如下圖所示。

04.JPG

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

  6.圖像分割

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



更多信息可以來這里獲取==>>電子技術應用-AET<< 

mmexport1621241704608.jpg

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲美女淫视频| 久久精品国产免费观看| 亚洲女性裸体视频| 日韩视频免费| 亚洲精品久久久久久一区二区| 国内精品伊人久久久久av影院| 国产伦精品一区二区三区在线观看 | 嫩草伊人久久精品少妇av杨幂| 久久精品一区二区三区四区 | 国产在线精品自拍| 国产一区二区三区久久| 国产日韩精品入口| 国产一区999| 国产亚洲午夜高清国产拍精品| 国产精品揄拍一区二区| 国产精品视频一| 国产精品系列在线播放| 国产精品区一区二区三| 国产精品一级| 国产一区二区三区在线观看免费| 狠狠色丁香久久婷婷综合丁香| 国产偷自视频区视频一区二区| 国产手机视频一区二区| 狠久久av成人天堂| 在线观看亚洲一区| 亚洲欧洲综合| 中国日韩欧美久久久久久久久| 中文高清一区| 亚洲欧美日韩在线高清直播| 欧美亚洲日本一区| 亚洲国产高清在线| 日韩午夜av电影| 亚洲深夜福利网站| 欧美在线中文字幕| 久久性天堂网| 欧美区在线播放| 国产精品久久久久久亚洲毛片| 国产精品一区二区久久精品| 国产欧美一区二区三区久久| 韩国在线视频一区| 亚洲国产视频一区二区| 一本久久a久久免费精品不卡| 亚洲一区二区黄| 久久精品一区二区三区不卡| 亚洲精品免费网站| 亚洲欧美国产va在线影院| 久久久精品国产一区二区三区 | 欧美一级大片在线免费观看| 久久偷看各类wc女厕嘘嘘偷窃| 欧美激情视频在线免费观看 欧美视频免费一 | 一区二区三区黄色| 午夜亚洲伦理| 91久久国产自产拍夜夜嗨| 在线一区亚洲| 久久精品亚洲精品| 欧美久久久久中文字幕| 国产精品一区二区黑丝| 亚洲国产精品综合| 亚洲午夜小视频| 久久精品99国产精品| 一本久久a久久精品亚洲| 性色av香蕉一区二区| 欧美成人一品| 国产欧美精品国产国产专区| 亚洲国产精品99久久久久久久久| 宅男精品视频| 亚洲精品乱码| 欧美一区二区三区日韩视频| 欧美大片专区| 国产乱码精品| 亚洲久久一区二区| 欧美在线精品一区| 亚洲免费视频网站| 欧美精品v日韩精品v韩国精品v | 久久国产精品黑丝| 99re这里只有精品6| 久久午夜激情| 国产精品久久久久久久久久免费看 | ●精品国产综合乱码久久久久| 亚洲自拍偷拍福利| 夜夜精品视频一区二区| 久久人人看视频| 国产精品亚洲网站| 亚洲精品孕妇| 亚洲国产精品久久久久婷婷老年| 午夜精品久久久久影视 | 欧美国产亚洲视频| 激情成人中文字幕| 亚洲欧美成人一区二区在线电影 | 尤物精品国产第一福利三区 | 一区二区三区日韩| 蜜桃久久av一区| 国产女优一区| 一本色道久久综合一区 | 久久精品91久久久久久再现| 欧美日韩在线视频一区二区| 在线观看欧美成人| 久久av老司机精品网站导航| 亚洲欧美在线免费观看| 欧美日韩亚洲一区二区三区在线观看| 在线播放精品| 久久xxxx精品视频| 欧美在线观看你懂的| 国产精品激情偷乱一区二区∴| 91久久久亚洲精品| 亚洲激情欧美激情| 久久综合九色综合欧美就去吻| 国产亚洲精品aa| 亚洲男人第一网站| 亚洲欧美日韩在线一区| 国产精品久久久久久妇女6080| 99热免费精品| 中国女人久久久| 欧美日韩成人精品| 亚洲精品黄色| aⅴ色国产欧美| 欧美精品一区二区三区蜜桃| 亚洲国产精品悠悠久久琪琪 | 宅男精品视频| 欧美精品在线视频观看| 亚洲国产欧美一区二区三区同亚洲| 亚洲缚视频在线观看| 麻豆成人在线观看| 在线日韩精品视频| 亚洲精品国产品国语在线app| 美女主播一区| 亚洲国产精品高清久久久| 亚洲三级免费| 欧美激情中文字幕在线| 亚洲人成小说网站色在线| 亚洲精品视频免费在线观看| 欧美风情在线| 日韩视频在线观看一区二区| 亚洲视频中文| 国产精品夫妻自拍| 亚洲女同在线| 久久青青草综合| 亚洲国产精品久久| 99成人在线| 欧美性视频网站| 午夜欧美视频| 久久综合九色综合久99| 亚洲国产精品第一区二区三区| 亚洲最新在线| 国产精品国产三级国产aⅴ入口| 亚洲女人天堂av| 久久免费偷拍视频| 最新热久久免费视频| 亚洲你懂的在线视频| 国产欧美婷婷中文| 亚洲国产婷婷香蕉久久久久久99| 欧美国产另类| 在线亚洲国产精品网站| 欧美一区精品| 亚洲国产精品成人| 亚洲欧美日韩中文在线制服| 国产日韩欧美a| 亚洲精品女人| 国产精品theporn| 欧美一区二区三区四区在线观看地址| 免费中文日韩| 亚洲色无码播放| 久久婷婷成人综合色| 亚洲精品四区| 久久成人精品| 亚洲国产成人tv| 亚洲欧美成人在线| 影音先锋日韩精品| 亚洲男人的天堂在线观看| 国内自拍视频一区二区三区| 99国产精品视频免费观看| 国产精品女同互慰在线看| 久久精品一区二区三区中文字幕| 欧美另类人妖| 性视频1819p久久| 欧美激情视频在线播放| 香蕉视频成人在线观看| 欧美日韩不卡视频| 久久gogo国模啪啪人体图| 欧美日韩精品免费看| 欧美一级视频精品观看| 欧美日韩色一区| 久久精品国产一区二区三| 欧美日韩中文在线| 久久精品国产欧美亚洲人人爽| 欧美日韩黄色一区二区| 欧美一区二区三区免费视| 欧美日韩不卡合集视频| 亚洲第一精品在线| 国产精品理论片在线观看| 91久久国产综合久久91精品网站| 国产精品久久久久久妇女6080| 亚洲精品久久视频| 国产在线精品一区二区夜色| 亚洲免费婷婷| 亚洲毛片在线免费观看| 久久亚洲国产成人| 亚洲欧美日韩国产中文在线| 欧美日韩国产a| 亚洲人体大胆视频|