日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

input自适应_【正点原子FPGA连载】第十一章基于OV5640的自适应二值化实验-领航者ZYNQ之HLS 开发指南...

發布時間:2024/10/12 编程问答 74 豆豆
生活随笔 收集整理的這篇文章主要介紹了 input自适应_【正点原子FPGA连载】第十一章基于OV5640的自适应二值化实验-领航者ZYNQ之HLS 开发指南... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1)摘自【正點原子】領航者ZYNQ之HLS 開發指南

2)平臺購買地址:https://item.taobao.com/item.htm?&id=606160108761

3)全套實驗源碼+手冊+視頻下載:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz.html

4)對正點原子FPGA感興趣的同學可以加群討論:876744900

5)正點原子資料更新和新品發布,請加正點原子公眾號:正點原子 關注方法:微信→添加好友→公眾號→輸入:正點原子

第十一章基于OV5640的自適應二值化實驗


在數字圖像分析與處理中,一幅圖片通常含有人們感興趣和不感興趣的兩部分。為了提取或突出人們感興趣的目標,常用的方法就是對圖像進行二值化分割。二值化的方法有很多,其中自適應二值化(OTSU)是圖像二值化最常用的一種算法。本章我們將在HLS中實現圖像的自適應二值化。
本章包括以下幾個部分:
1111.1簡介
11.2實驗任務
11.3HLS設計
11.4IP驗證
11.5下載驗證
11.1簡介
圖像二值化(Image Binarization)就是將圖像上的像素點的灰度值設置為最大(白色)或最小(黑色),也就是將整個圖像呈現出明顯的黑白效果的過程。這里我們以8bit表示的灰度圖像為例(灰度值的范圍為0~255),二值化就是通過選取適當的閾值,與圖像中的256個灰度等級進行比較。亮度高于閾值的像素點設置為白色(255),低于閾值的像素點設置為黑色(0),從而明顯地反映出圖像的整體和局部特征。
我們把圖像進行二值化是為了將感興趣目標和背景分離,在數字識別和指紋識別等場景中,二值化應用非常廣泛。

圖 11.1.1 指紋識別


在指紋識別中,由于我們只關注圖像的指紋信息,所以我們需要將背景信息全部清除掉,如上圖所示,圖像經過二值化處理后只保留了關鍵的指紋信息。
二值化在數字圖像處理中占有非常重要的地位,特別是在實時的圖像處理中,通過二值圖像處理實現而構成的系統是很多的。要進行二值圖像的處理與分析,首先要把灰度圖像二值化,得到二值化圖像,這樣有利于在對圖像做進一步處理時,圖像的集合性質只與像素值為0或255的點的位置有關,不再涉及像素的多級值,使處理變得簡單,而且數據的處理和壓縮量小。為了得到理想的二值圖像,一般采用封閉、連通的邊界定義不交疊的區域。所有灰度大于或等于閾值的像素被判定為屬于特定物體,其灰度值為255表示,否則這些像素點被排除在物體區域以外,灰度值為0,表示背景或者例外的物體區域。
實現二值化有兩種方法,一種是手動指定一個閾值,通過閾值來進行二值化處理;另一種是一個自適應閾值二值化方法(OTSU算法等)。使用第一種方法計算量小速度快,但是在處理不同圖像時顏色分布差別很大;使用第二種方法適應性強,能直接觀測處圖像的輪廓,但相對計算更復雜。當圖像的直方圖分布沒有明顯的低峰和高峰時,直接指定閾值可能會導致圖像中某些像素的關鍵信息丟失,所以我們在本章采用第二種方法來實現圖像的二值化。
OTSU算法計算出來的閾值可以使圖像的前景目標區域的像素的平均灰度值、背景區域像素的平均灰度值與整幅圖像像素的平均灰度值之間的差別最大,這種差異使用方差來表示的,故名最大類間方差法,該方法由日本學者大津于1978年提出,故又名大津法。
OTSU算法的原理非常簡單,該算法假定一幅圖像根據雙模直方圖(前景圖像像素和背景圖像像素)被分為兩類像素,它要計算能將兩類分開的最佳閾值,使得它們的類間方差最大,也就是前景圖像和背景圖像間像素的離散程度最大。OTSU算法類間方差的定義如下:


圖 11.1.2 類間方差公式
如圖所示,其中w0表示前景圖像像素出現的概率,u0表示前景圖像像素的平均灰度,w1表示背景圖像像素出現的概率,u1表示背景圖像像素的平均灰度,u表示整幅圖像像素的平均灰度。
為了實現找到使類間方差最大的閾值這個目標。我們需要遍歷0~255個灰度等級,這每一個灰度等級都將圖像分為兩類像素(前景圖像像素和背景圖像像素)。然后在每一個灰度等級下算出前景圖像像素的平均值(u0)和出現概率(w0)以及背景圖像像素的平均值(u1)和出現概率(u),同時我們還要計算出整幅圖像的平均灰度(u)。最后代入上面的公式計算出類間方差σ2。我們就是要找到一個灰度值得這個類間方差最大,然后將這個灰度值作為圖像二值化的閾值。
下面給出一幅灰度圖像以及它做了指定閾值和OTSU自適應二值化之后的圖像來加深我們對OTSU自適應二值化的理解:

圖 11.1.3 圖像自適應二值化


如圖所示,左邊的這幅圖像是灰度圖,中間的這副圖像是我們手動指定閾值操作的二值化圖像,右邊的這副圖像是灰度圖做了自適應二值化算法處理后的圖像,可以發現圖像經過自適應二值化計算出來的閾值比手動指定閾值二值化的效果更好。
11.2實驗任務
本節的實驗任務是使用Vivado HLS設計OTSU自適應二值化的IP核,并在Vivado中對設計出來的IP核進行驗證。
11.3HLS設計
我們在電腦中的“F:ZYNQHigh_Level_Synthesis”目錄下新建一個名為otsu_threshold的文件夾,作為本次實驗的工程目錄。然后打開Vivado HLS工具,創建一個新的工程。設置工程名為“otsu_threshold”,選擇工程路徑為剛剛創建的文件夾。需要注意的是,工程名以及路徑只能由英文字母、數字和下劃線組成,不能包含中文、空格以及其他特殊字符。如下圖所示:

圖 11.3.1 工程配置界面


設置好工程名及路徑之后,點擊“Next”,進入如下界面設置頂層函數:

圖 11.3.2 設置頂層函數


工程創建完成后,在工程面板中的“source”目錄上點擊右鍵,然后在打開的列表中選擇“New File”新建源文件,在彈出的對話框中輸入源文件的名稱“otsu_threshold.cpp”,如圖1.3.3所示。源文件默認的保存路徑為HLS工程目錄,為方便源文件的管理,我們在工程目錄下新建一個名為“src”的文件下,將源文件保存在src目錄下。

圖 11.3.3 輸入源文件名


我們在這里使用C++語言來設計,那么后綴名需要設置為“.cpp”。設置好文件名和路徑之后,點擊“保存”。
“otsu_threshold.cpp”文件源代碼如下:

  • 1 #include "otsu_threshold.h"
  • 2
  • 3 void ov5640_otsu_threshold(AXI_STREAM & INPUT_STREAM,
  • 4 AXI_STREAM & OUTPUT_STREAM,
  • 5 int rows,
  • 6 int cols
  • 7 ){
  • 8
  • 9 #pragma HLS INTERFACE axis port=INPUT_STREAM
  • 10 #pragma HLS INTERFACE axis port=OUTPUT_STREAM
  • 11 #pragma HLS INTERFACE s_axilite port=rows
  • 12 #pragma HLS INTERFACE s_axilite port=cols
  • 13 #pragma HLS INTERFACE ap_ctrl_none port=return
  • 14 #pragma HLS dataflow
  • 15
  • 16 //hls::mat 格式變量
  • 17 RGB_IMAGE img_0(rows,cols);
  • 18 GRAY_IMAGE img_1(rows,cols);
  • 19 GRAY_IMAGE img_2(rows,cols);
  • 20 RGB_IMAGE img_3(rows,cols);
  • 21
  • 22 //將 AXI4 Stream 數據轉換成 hls::mat 格式
  • 23 hls::AXIvideo2Mat(INPUT_STREAM,img_0);
  • 24
  • 25 //將 RGB888 格式的彩色數據轉換成灰度數據
  • 26 hls::CvtColor<HLS_RGB2GRAY,HLS_8UC3,HLS_8UC1>(img_0,img_1);
  • 27
  • 28 //對灰度圖像進行OTSU自適應二值化
  • 29 hls::Otsu_threshold<HLS_8UC1,HLS_8UC1,MAX_HEIGHT,MAX_WIDTH>(img_1,img_2);
  • 30
  • 31 //將灰度數據轉換成三個通道的灰度圖像
  • 32 hls::CvtColor<HLS_GRAY2RGB,HLS_8UC1,HLS_8UC3>(img_2,img_3);
  • 33
  • 34 //將 hls::mat 格式數據轉換成 AXI4 Stream 格式
  • 35 hls::Mat2AXIvideo(img_3,OUTPUT_STREAM);
  • 36 }

  • 代碼的主體部分與《基于OV5640的直方圖均衡實驗》非常類似,只是在代碼的第29行我們使用的是hls::Otsu_threshold這個函數來實現自適應二值化算法。這個函數在Vivado HLS視頻庫中沒有相關定義,需要我們自己實現。
    “otsu_threshold.h”代碼如下:

  • 1 #ifndef OTSU_THRESHOLD_H
  • 2 #define OTSU_THRESHOLD_H
  • 3
  • 4 #include "hls_math.h"
  • 5 #include "hls_video.h"
  • 6
  • 7 namespace hls {
  • 8
  • 9 template<int SRC_T, int DST_T,int ROW, int COL>
  • 10 void Threshold(
  • 11 Mat<ROW, COL, SRC_T> &_src,
  • 12 Mat<ROW, COL, DST_T> &_dst,
  • 13 ap_uint<8> &threshold)
  • 14 {
  • 15 const int NUM_STATES=4;
  • 16 Window<1,NUM_STATES,ap_uint<8> > addr_win;
  • 17
  • 18 ap_uint<BitWidth<ROW*COL>::Value> hist_out[256];
  • 19 Window<1,NUM_STATES,ap_uint<BitWidth<ROW*COL>::Value> > hist_win;
  • 20
  • 21 ap_uint<BitWidth<ROW*COL>::Value> hist;
  • 22 ap_uint<8> addr;
  • 23 ap_uint<8> addr_last;
  • 24 ap_uint<BitWidth<ROW*COL>::Value> hist_last;
  • 25 ap_uint<8> addr_flag;
  • 26 ap_uint<BitWidth<ROW*COL>::Value> hist_flag;
  • 27 ap_uint<8> addr_w;
  • 28 ap_uint<BitWidth<ROW*COL>::Value> hist_w;
  • 29
  • 30 ap_uint<BitWidth<ROW*COL>::Value> tmp=0;
  • 31
  • 32 float pixel_probability[256];
  • 33 for(int i=0;i<NUM_STATES;i++) {
  • 34 #pragma HLS UNROLL
  • 35 addr_win(0,i)=i;
  • 36 hist_win(0,i)=0;
  • 37 }
  • 38
  • 39 for(int i=0;i<256;i++) {
  • 40 hist_out=0;
  • 41 pixel_probability = 0.0f;
  • 42 }
  • 43
  • 44 int cols=_src.cols;
  • 45 int rows=_src.rows;
  • 46 assert(rows<=ROW);
  • 47 assert(cols<=COL);
  • 48 loop_height: for(int i=0;i<rows;i++)
  • 49 {
  • 50 loop_width: for(int j=0;j<cols;j++)
  • 51 {
  • 52 #pragma HLS PIPELINE
  • 53 #pragma HLS LOOP_FLATTEN OFF
  • 54 #pragma HLS DEPENDENCE array inter false
  • 55 ap_uint<4> flag=NUM_STATES;
  • 56 HLS_TNAME(SRC_T) tempsrc=0;
  • 57 HLS_TNAME(DST_T) tempdst=0;
  • 58 _src.data_stream[0].read(tempsrc);
  • 59 tempdst=tempsrc > threshold ? 255 : 0;
  • 60 _dst.data_stream[0]<<tempdst;
  • 61
  • 62 for (int m=0; m<NUM_STATES; m++) {
  • 63 if (tempsrc==addr_win(0,m)) {
  • 64 flag = m;
  • 65 break;
  • 66 }
  • 67 }
  • 68
  • 69 latency_region:{
  • 70 #pragma HLS latency min=0 max=1
  • 71 addr_last = addr_win(0,NUM_STATES-1);
  • 72 hist_last = hist_win(0,NUM_STATES-1)+1;
  • 73 for (int m=NUM_STATES-1; m>0; m--) {
  • 74 addr = addr_win(0,m-1);
  • 75 hist = hist_win(0,m-1);
  • 76 if (m==NUM_STATES/2) {
  • 77 addr_w = addr;
  • 78 if (m==flag+1) {
  • 79 hist_w = hist+1;
  • 80 } else {
  • 81 hist_w = hist;
  • 82 }
  • 83 }
  • 84 if (m==flag+1) {
  • 85 addr_flag = addr;
  • 86 hist_flag = hist+1;
  • 87 addr_win(0,m) = addr_flag;
  • 88 hist_win(0,m) = hist_flag;
  • 89 } else {
  • 90 addr_win(0,m) = addr;
  • 91 hist_win(0,m) = hist;
  • 92 }
  • 93 }
  • 94 if (flag==NUM_STATES) {
  • 95 hist_win(0,0) = hist_out[tempsrc]+1;
  • 96 addr_win(0,0) = tempsrc;
  • 97 } else if (flag==NUM_STATES-1) {
  • 98 addr_win(0,0) = addr_last;
  • 99 hist_win(0,0) = hist_last;
  • 100 } else if (flag>=NUM_STATES/2) {
  • 101 addr_win(0,0) = addr_flag;
  • 102 hist_win(0,0) = hist_flag;
  • 103 } else {
  • 104 addr_win(0,0) = addr_w;
  • 105 hist_win(0,0) = hist_w;
  • 106 }
  • 107 hist_out[addr_w] = hist_w;
  • 108 }
  • 109 }
  • 110 }
  • 111
  • 112 for (int m=0; m<NUM_STATES/2; m++) {
  • 113 #pragma HLS PIPELINE
  • 114 hist_out[addr_win(0,m)]=hist_win(0,m);
  • 115 }

  • 實現OTSU算法,需要先統計圖像各個像素值出現的個數,也就是統計圖像的直方圖。統計直方圖這部分代碼我們參考Vivado HLS視頻庫中直方圖均衡化中的部分源碼。下面簡單講解一下這個源碼的實現思路。
    我們想要獲取一幅圖像的直方圖,就需要定義一個數組,這個數組可以保存每個像素值出現的個數。其中數組的地址代表的是圖像像素的灰度等級0~255,數組里存儲的就是每一個灰度等級出現的個數,在代碼的第18行就定義了“hist_out”這樣的一個數組。我們在獲取到輸入圖像像素的灰度值后,把這個灰度值作為數組的地址,從數組中取出數據,并將得到的數據加1后再寫回數組對應的地址。這樣一幀圖像輸入完成后,數組中就存儲了整幅圖像的直方圖信息,即實現了直方圖的統計。
    在獲取一幀圖像的直方圖之后,需要根據圖像的直方圖來計算類間方差。在計算類間方差的時候,我們需要緩存后續輸入的圖像數據,為計算上一幀圖像的OTSU閾值留出時間。代碼的第16行“addr_win”緩存了圖像像素的灰度值,代碼的第19行“hist_win”緩存了圖像像素出現的個數,這里NUM_STATUS定義成4表示我們緩存的大小是4。
    代碼的第58行是讀取輸入像素的灰度值并存儲到“tempsrc”中,代碼的第59行是通過三目運算符,判斷輸入圖像像素值與閾值之間的大小,如果輸入圖像像素值比閾值大,則將輸出圖像像素設置為255,否則將輸出圖像像素設置為0,這樣就實現了圖像的二值化操作。
    在代碼的第130行到第180行就是通過OTSU算法來計算圖像的閾值。我們首先遍歷灰度級0~255,針對每一個灰度,把它作為閾值。如代碼的第130行所示:“threshold_tmp”這個變量就是我們設置的這個閾值。然后以這個閾值分類,分別計算前景圖像像素和背景圖像像素出現的個數和灰度總和。這里計算灰度總和的方式就是拿每個像素的灰度級乘以它出現的個數然后做一個累加。如代碼第144到第155行所示:“j”代表的是前景或背景圖像像素的灰度值,“hist_out”數組里存儲的是每個灰度級出現的個數。接下來我們就需要根據簡介里所介紹的類間方差公式,來分別計算公式中各個符號的值。如下圖所示:

    圖 11.3.4 類間方差公式


    其中“w0”代表的是前景圖像像素出現的概率,對應于代碼的第158行“front_pixel_probability”這個變量。我們在這里是拿前景圖像像素出現的個數除以一幀像素的個數來計算前景圖像像素出現的概率;“u0”代表的是前景圖像像素的平均灰度,對應于代碼的第164行“front_gray_average”這個變量。我們在這里是通過前景圖像像素的灰度總和除以前景圖像像素出現的個數來計算前景圖像像素的平均灰度。“u”代表的是整幅圖像的平均灰度,對應于代碼的第168行“total_gray_average”這個變量。我們在這里是通過整幅圖像像素的灰度總和除以一幀像素的個數來得到的。在代碼的第178行到第180行就是找出最大的類間方差,并且將最大類間方差所對應的像素值賦值給“threshold”這個變量,作為我們二值化的閾值。
    我們程序用到了一些優化指令,下面對這些優化指令做一些介紹:
    在代碼的第34行“pragma HLS UNROLL”是HLS優化指令,表示我們展開循環創建多個獨立的操作,這將會導致我們可以在單個時鐘周期里并行執行for循環中的操作,而基于處理器的架構導致它執行這些操作步驟都是串行執行的。在FPGA內部數據可以并行處理,這體現了用FPGA并行加速的優勢。如下圖所示:

    圖 11.3.5 循環展開


    左邊的這個“Rolled Loop”是滾動循環,它表示每次迭代都在單獨的時鐘周期內執行,這個實現需要四個時鐘周期,只需要用FPGA的一個乘法器就可以實現;中間的這個“Partially Unrolled Loop”是部分展開循環,在這個例子中,這個實現需要兩個時鐘周期,需要用FPGA的兩個乘法器來實現;右邊的這個“Unroolled Loop”是展開循環,在這個例子中,循環被完全展開,我們可以在單個時鐘周期內執行所有循環操作。然而這個實現需要四個乘法器,更重要的是,這個實現需要能夠在相同的時鐘周期內執行4次讀取和4次寫入操作,由于在FPGA的塊RAM最多只有兩個端口,因此我們在實現這個的時候需要對陣列進行分區。需要注意的是,循環展開后,如果循環的一次迭代中的操作需要前一次迭代的結果,那么它們不能并行執行,而是在數據可用時立即執行。
    在代碼的第52行“pragma HLS PIPELINE”是為了提高吞吐率而進行的優化。“PIPELINE”指的是流水線操作,流水線操作允許操作同時發生,任務可以不必在開始下一個操作之前完成所有操作。流水線可以應用于函數和循環。函數的吞吐率改進如下圖所示:

    圖 11.3.6 函數流水線操作


    如圖所示,如果沒有流水線操作,這個函數每3個時鐘周期讀取一個輸入,并且每2個時鐘周期輸出一個值。這個函數的啟動間隔(initiation interval)為3,延遲(latency)為2。通過流水線操作,每個周期(initiation interval = 1)讀取一個新的輸入,而不會改變輸出延遲或使用的資源。
    循環流水線操作允許循環中的操作以并發方式實現,如圖所示:

    圖 11.3.7 循環流水線操作


    左邊的這個圖是默認的順序操作,其中每個輸入讀取(initiation interval = 3)之間有3個時鐘周期,并且在執行最后一次輸出寫入之前需要8個時鐘周期。右邊的這個圖是循環流水線之后的結果,經過流水線處理后可以每個周期(initiation interval = 1)讀取一個新的輸入樣本,并且僅在4個時鐘周期后寫入最終輸出。在這里我們使用這個指令來提高系統的吞吐率。
    在代碼的第53行“pragma HLS LOOP_FLATTEN OFF”是為了防止這個嵌套循環在FPGA實現中被展平為單個循環層次結構。在Vivado HLS中默認情況下不會將嵌套循環展開,但可以定義優化的程度,如果優化等級定義過高,在綜合的時候還是有可能將嵌套的循環結構展平為單個循環層次結構,添加這個指令,就是為了防止Vivado HLS做這種優化。
    程序創建完成后,點擊工具欄中向右的綠色三角形對C++代碼進行綜合,綜合完成后在工具欄中點擊黃色的“田”字按鈕,導出RTL,如下圖所示:


    圖 11.3.4 導出RTL
    在彈出的對話框中保持默認設置,直接點擊“OK”,如下圖所示:

    圖 11.3. 將設計導出成IP


    設計導出完成后,HLS設計部分就結束了,我們在HLS工程目錄下可以找到導出的IP核,如下圖紅色方框所示:

    圖 11.3.18導出得到的IP


    HLS設計結束之后,我們將在Vivado中對導出的IP核進行驗證。
    11.4IP驗證
    在IP驗證環節,我們會使用Vivado工具的IP集成器將生成的IP核添加到Block Design中,然后完成設計后將程序下載到領航者開發板上進行驗證。
    用于IP驗證的底層硬件可以在《領航者ZYNQ之HLS開發指南》第5章“OV5640 攝像頭灰度顯示”實驗的基礎上進行。打開該實驗所對應的Vivado工程“ov5640_rgb2gray_ip_test”,將其另存為“otsu_threshold_ip_test”工程。為了方便工程管理,我們將Vivado工程的目錄與HLS工程目錄保持一致,如下圖所示:

    圖 11.4.1 創建Vivado工程


    在通過“另存為”的方式保存工程之后,還要將原來工程中的IP庫(名為ip_repo的文件夾)復制到新的Vivado工程目錄下, 然后將HLS設計過程中導出的IP核拷貝到“ip_repo”目錄下并解壓。
    在Vivado中重新將當前工程目錄下的ip_repo文件夾添加到工程的IP庫中,然后將HLS生成的IP核text_overlay添加到Block Design中,并將其STREAM接口分別連接到Video In to AXI4-Stream模塊的video_out接口與VDMA模塊的S_AXIS_S2MM接口上。最后點擊上圖中左上角的“Run Connection Automation”,讓工具自動連接該IP核的其他端口,包括時鐘、復位以及AXI-Lite從接口,最終完成的設計如下圖所示:
    然后點擊“Run Connnection Automation”,下面列出了會自動連接的模塊及其接口,勾選“All Automation”, 然后點擊“OK”按鈕。最終完成的設計如下圖所示:

    圖 11.4.2 完成后的Block Design


    到這里我們的Block Design就設計完成了,在Diagram窗口空白處右擊,然后選擇“Validate Design”驗證設計。驗證完成后彈出對話框提示“Validation Successful”表明設計無誤,點擊“OK”確認。最后按快捷鍵“Ctrl + S”保存設計。
    接下來在Source窗口中右鍵點擊Block Design設計文件“system.bd”,然后依次執行“Generate Output Products”和“Create HDL Wrapper”。
    最后在左側Flow Navigator導航欄中找到PROGRAM AND DEBUG,點擊該選項中的“Generate Bitstream”,對設計進行綜合、實現、并生成Bitstream文件。
    在生成 Bitstream 之后,在菜單欄中選擇 File > Export > Export hardware 導出硬件,并在彈出的對話框 中,勾選“Include bitstream”。然后在菜單欄選擇 File > Launch SDK,啟動 SDK 軟件。
    在Vivado SDK中新建空的應用工程,工程名為“ov5640_otsu_threshold”。
    然后找到《領航者ZYNQ之嵌入式開發指南》第二十三章“OV5640 攝像頭 LCD 顯示”實驗的Vivado工程目錄,將“21_ov7725_lcdov7725_lcd.sdkov7725_lcd”目錄下的src文件夾拷貝到新建的應用工程目錄下。
    在SDK中刷新src目錄,然后將“main.c”的代碼修改為如下所示:

  • 1 #include <stdio.h>
  • 2 #include <stdlib.h>
  • 3 #include <string.h>
  • 4 #include "xil_types.h"
  • 5 #include "xil_cache.h"
  • 6 #include "xparameters.h"
  • 7 #include "xgpio.h"
  • 8 #include "xaxivdma.h"
  • 9 #include "xaxivdma_i.h"
  • 10 #include "display_ctrl/display_ctrl.h"
  • 11 #include "vdma_api/vdma_api.h"
  • 12 #include "emio_sccb_cfg/emio_sccb_cfg.h"
  • 13 #include "ov5640/ov5640_init.h"
  • 14 #include "xov5640_otsu_threshold.h"
  • 15
  • 16 //宏定義
  • 17 #define BYTES_PIXEL 3 //像素字節數,RGB888占3個字節
  • 18 #define FRAME_BUFFER_NUM 3 //幀緩存個數3
  • 19 #define DYNCLK_BASEADDR XPAR_AXI_DYNCLK_0_BASEADDR //動態時鐘基地址
  • 20 #define VDMA_ID XPAR_AXIVDMA_0_DEVICE_ID //VDMA器件ID
  • 21 #define DISP_VTC_ID XPAR_VTC_0_DEVICE_ID //VTC器件ID
  • 22 //PL端 AXI GPIO 0(lcd_id)器件 ID
  • 23 #define AXI_GPIO_0_ID XPAR_AXI_GPIO_0_DEVICE_ID
  • 24 //使用AXI GPIO(lcd_id)通道1
  • 25 #define AXI_GPIO_0_CHANEL 1
  • 26
  • 27 //全局變量
  • 28 //frame buffer的起始地址
  • 29 unsigned int const frame_buffer_addr = (XPAR_PS7_DDR_0_S_AXI_BASEADDR
  • 30 + 0x1000000);
  • 31 XAxiVdma vdma;
  • 32 DisplayCtrl dispCtrl;
  • 33 XGpio axi_gpio_inst; //PL端 AXI GPIO 驅動實例
  • 34 XOv5640_otsu_threshold otsu_threshold_inst; //PL端otsu_threshold驅動實例
  • 35 VideoMode vd_mode;
  • 36 unsigned int lcd_id;
  • 37
  • 38 int main(void)
  • 39 {
  • 40 u32 status;
  • 41 u16 cmos_h_pixel; //ov5640 DVP 輸出水平像素點數
  • 42 u16 cmos_v_pixel; //ov5640 DVP 輸出垂直像素點數
  • 43 u16 total_h_pixel; //ov5640 水平總像素大小
  • 44 u16 total_v_pixel; //ov5640 垂直總像素大小
  • 45
  • 46 //獲取LCD的ID
  • 47 XGpio_Initialize(&axi_gpio_inst, AXI_GPIO_0_ID);
  • 48 lcd_id = LTDC_PanelID_Read(&axi_gpio_inst,AXI_GPIO_0_CHANEL);
  • 49 xil_printf("lcd_id = %xnr",lcd_id);
  • 50
  • 51 //根據獲取的LCD的ID號來進行ov5640顯示分辨率參數的選擇
  • 52 switch(lcd_id){
  • 53 case 0x4342 : //4.3寸屏,480*272分辨率
  • 54 cmos_h_pixel = 480;
  • 55 cmos_v_pixel = 272;
  • 56 total_h_pixel = 1800;
  • 57 total_v_pixel = 1000;
  • 58 break;
  • 59 case 0x4384 : //4.3寸屏,800*480分辨率
  • 60 cmos_h_pixel = 800;
  • 61 cmos_v_pixel = 480;
  • 62 total_h_pixel = 1800;
  • 63 total_v_pixel = 1000;
  • 64 break;
  • 65 case 0x7084 : //7寸屏,800*480分辨率
  • 66 cmos_h_pixel = 800;
  • 67 cmos_v_pixel = 480;
  • 68 total_h_pixel = 1800;
  • 69 total_v_pixel = 1000;
  • 70 break;
  • 71 case 0x7016 : //7寸屏,1024*600分辨率
  • 72 cmos_h_pixel = 1024;
  • 73 cmos_v_pixel = 600;
  • 74 total_h_pixel = 2200;
  • 75 total_v_pixel = 1000;
  • 76 break;
  • 77 case 0x1018 : //10.1寸屏,1280*800分辨率
  • 78 cmos_h_pixel = 1280;
  • 79 cmos_v_pixel = 800;
  • 80 total_h_pixel = 2570;
  • 81 total_v_pixel = 980;
  • 82 break;
  • 83 default :
  • 84 cmos_h_pixel = 480;
  • 85 cmos_v_pixel = 272;
  • 86 total_h_pixel = 1800;
  • 87 total_v_pixel = 1000;
  • 88 break;
  • 89 }
  • 90
  • 91 emio_init(); //初始化EMIO
  • 92 status = ov5640_init( cmos_h_pixel, //初始化ov5640
  • 93 cmos_v_pixel,
  • 94 total_h_pixel,
  • 95 total_v_pixel);
  • 96 if(status == 0)
  • 97 xil_printf("OV5640 detected successful!rn");
  • 98 else
  • 99 xil_printf("OV5640 detected failed!rn");
  • 100
  • 101 //根據獲取的LCD的ID號來進行video參數的選擇
  • 102 switch(lcd_id){
  • .

    .
    在代碼的第14行引入了“xov5640_otsu_threshold.h”頭文件,這個頭文件是Vivado HLS工具生成的,里面聲明了OTSU自適應二值化IP核的驅動函數。首先在代碼的34行定義了OTSU自適應二值化IP核的驅動實例otsu_threshold_inst,該變量會在后面對IP核進行配置時用到。然后在代碼的第112行通過“XOv5640_otsu_threshold_Initialize ()”函數來初始化Vivado HLS生成的OTSU自適應二值化IP核;在代碼的第116行通過傳入“vd_mode.height”形參來設置OTSU自適應二值化IP核的行數,在代碼的第114行通過傳入“vd_mode.width”形參來設置列數。這些數據類型和函數在“xov5640_otsu_threshold.h”頭文件中均有聲明。
    11.5下載驗證
    編譯完工程之后我們就可以開始下載程序了。將 OV5640 攝像頭模塊插在領航者Zynq開發板的“OLED/CAMERA”插座上,并將LCD的排線接頭插入開發板上的 LCD 接線座。將下載器一端連電腦,另一端與開發板上的 JTAG 端口連接,連接電源線并打開電源開關。
    在SDK軟件下方的SDK Terminal窗口中點擊右上角的加號設置并連接串口。然后下載本次實驗硬件設計過程中所生成的BIT文件,來對PL進行配置。最后下載軟件程序,下載完成后在LCD上就可以看到液晶屏上顯示了經過OTSU自適應二值化處理后的圖像,如下圖所示:

    圖 11.5.1 OTSU自適應二值化效果圖

    總結

    以上是生活随笔為你收集整理的input自适应_【正点原子FPGA连载】第十一章基于OV5640的自适应二值化实验-领航者ZYNQ之HLS 开发指南...的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    国产精品黄网站在线观看 | 国产精品99精品久久免费 | 97成人精品区在线播放 | 一区二区三区av在线 | 天天激情 | 国产精品乱码久久 | 91精品国产91 | 亚州免费视频 | 97操操操 | 国产精品岛国久久久久久久久红粉 | 91高清完整版在线观看 | 国产精品久久久一区二区三区网站 | 福利视频网址 | 91激情在线视频 | 婷婷久月 | 精品国偷自产在线 | 天堂在线一区二区三区 | 国产91对白在线播 | 国产精品久久久免费 | 国产精品手机在线 | 一区 二区电影免费在线观看 | 免费在线一区二区 | 亚洲天天在线日亚洲洲精 | 日韩欧美精品在线 | 国产亚洲小视频 | 在线免费黄色av | 超碰个人在线 | 日韩电影在线观看中文字幕 | 国产又粗又硬又长又爽的视频 | 欧美极品xxxx | 久久久久久国产精品999 | mm1313亚洲精品国产 | 黄色aa久久 | 精品久久免费 | 天天操夜操视频 | 99热99| 99精品久久精品一区二区 | 成人羞羞视频在线观看免费 | 九九色网| 国产一区国产精品 | 久久精品电影院 | 狠狠干网址 | 又爽又黄又无遮挡网站动态图 | av成年人电影 | 91av官网| 欧美精品v国产精品 | 91插插影库 | 97香蕉视频| 免费三级影片 | 久久婷婷视频 | 免费进去里的视频 | 国产精品自产拍 | 亚洲免费视频在线观看 | 日本精品视频在线观看 | 久久99这里只有精品 | 99在线精品免费视频九九视 | 激情偷乱人伦小说视频在线观看 | 在线看一区二区 | 亚洲高清视频在线播放 | 成人在线一区二区 | 夜夜夜夜爽 | 狠色在线| 99久热在线精品视频 | 国产v亚洲v | av中文字幕不卡 | 国产又粗又猛又爽又黄的视频先 | 不卡av电影在线观看 | 国产在线综合视频 | 欧美日韩精品免费观看 | 国产黄色av影视 | 免费av 在线 | 午夜丰满寂寞少妇精品 | 国产精品久久久久av免费 | 中文字幕一区二区三区久久蜜桃 | 国产在线探花 | 91av在线视频免费观看 | 99欧美精品 | 91麻豆网 | 又长又大又黑又粗欧美 | av在线网站观看 | 久草在线官网 | 亚洲精品视频第一页 | 免费精品在线 | 色婷婷精品| www.xxx.性狂虐 | 中文字幕在线字幕中文 | 91成人网页版 | 精品国产电影一区二区 | 黄色网址在线播放 | 激情婷婷综合 | 国产福利在线 | 国产精品久久久久久久久久白浆 | 日韩精品五月天 | 9在线观看免费高清完整版 玖玖爱免费视频 | www.狠狠色 | 四虎成人精品在永久免费 | 在线观看网站你懂的 | 99久久精品免费看国产一区二区三区 | 热久久免费视频 | 亚洲综合在线观看视频 | 一区二区三区不卡在线 | 五月天天在线 | 久久久久久久99 | 中文字幕视频观看 | 久久久国产精品网站 | 狠狠色丁香久久综合网 | 精品在线你懂的 | 亚洲1级片 | 99re8这里有精品热视频免费 | 亚洲综合在 | 一 级 黄 色 片免费看的 | 国产成人三级在线观看 | 在线观看黄网 | 欧洲精品码一区二区三区免费看 | avav99| 国产区免费在线 | 国产精品久久视频 | 国产日韩欧美在线播放 | 日日干天天插 | 亚洲精品中文在线观看 | 亚洲日本va在线观看 | 亚洲成av片人久久久 | 九九九九热精品免费视频点播观看 | 久久久国产一区 | a在线免费观看视频 | 免费亚洲片 | 亚洲国产中文字幕在线视频综合 | 国产一级电影免费观看 | 狠狠狠狠狠狠 | 久久久网页 | 久久看毛片 | 美女视频黄网站 | 国产日韩在线看 | 最近中文字幕mv免费高清在线 | 蜜臀久久99精品久久久无需会员 | 四虎在线观看精品视频 | 久久久精品在线观看 | 人人爽人人香蕉 | 精品一区二区在线免费观看 | 亚洲国产一区二区精品专区 | 亚洲国产精品成人综合 | 99精品国产一区二区三区不卡 | 日韩中文字幕在线 | 99热在线看| 美女精品在线观看 | 国产男女免费完整视频 | 99国产精品久久久久久久久久 | 久久国产热| 欧美天天干 | 国产资源| www.香蕉视频在线观看 | 成人av免费在线 | 最近中文字幕mv | 成人久久 | 日本最新中文字幕 | 国产1区在线观看 | 日本精a在线观看 | 女人魂免费观看 | 91网址在线观看 | 精品国产不卡 | a黄色大片 | 久久9视频 | 天天综合网国产 | 国产精品免费视频网站 | 综合在线色 | 久草免费新视频 | 91亚洲狠狠婷婷综合久久久 | 欧美巨大荫蒂茸毛毛人妖 | 久久久久久久久久久免费av | 97网在线观看 | 国内小视频| 欧美日本日韩aⅴ在线视频 插插插色综合 | 天天操夜夜摸 | 国产玖玖在线 | 91丨九色丨国产在线观看 | 日韩乱色精品一区二区 | 午夜久久久久久久久久影院 | 亚洲砖区区免费 | 五月天国产精品 | 精品视频免费观看 | 亚洲国产高清在线 | 成 人 黄 色 视频 免费观看 | 国产精品高潮在线观看 | 亚洲综合小说电影qvod | 天天操夜夜操国产精品 | 操操操影院 | 亚洲一区二区精品 | 98久久| 人人爽人人爽人人片av | 免费福利视频导航 | 在线国产一区二区三区 | 久久免费视频这里只有精品 | 成年人视频在线免费播放 | 国精产品999国精产品视频 | 激情久久一区二区三区 | 在线韩国电影免费观影完整版 | 亚洲日本va在线观看 | 射九九 | 九九在线视频 | av色图天堂网 | 天天操天天操 | 国产精品毛片一区视频播 | 国产淫片 | 国产美女视频一区 | 激情电影在线观看 | 久久天堂亚洲 | 在线观看免费91 | 中国一级片在线观看 | 日韩精品网址 | 国产成人av网站 | 午夜日b视频| 91香蕉视频黄色 | 天堂麻豆| www.伊人网 | 大胆欧美gogo免费视频一二区 | 在线免费视频你懂的 | 久久人人爽视频 | 久久久久久久久久久网 | 成人在线网站观看 | 精品久久影院 | 欧美性春潮 | 狠狠狠狠狠狠狠狠干 | 超碰在线日韩 | 麻豆小视频在线观看 | 人人玩人人添人人澡97 | 午夜精品久久久久久久久久久久 | 国产精品久久久久aaaa九色 | 欧美污污网站 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 日韩一级黄色大片 | 日韩高清av| 久久人人爽人人片 | 久久这里精品视频 | 黄色软件网站在线观看 | 亚洲精品在线观看网站 | 欧美日韩国产精品一区二区三区 | 91成人天堂久久成人 | 国产精品人人做人人爽人人添 | 九九视频免费在线观看 | 日本中出在线观看 | 色综合久久久久综合体桃花网 | 日日夜夜骑 | 91人人揉日日捏人人看 | 国产一级二级三级在线观看 | 天天曰视频 | 欧美日韩国产精品一区二区亚洲 | 色婷婷亚洲精品 | 国产精品麻豆果冻传媒在线播放 | 在线亚洲人成电影网站色www | 久久久久久视频 | 麻豆视频在线 | 欧美日韩aaaa | 亚洲一区二区精品视频 | 中文字幕久久精品亚洲乱码 | 国产精品原创 | 91人人澡人人爽 | 看片的网址 | 中国一级片免费看 | 天天色影院 | 毛片3| 久久免费视频一区 | 免费网站看av片 | 精品一二三区视频 | 超碰国产97 | 欧美色图亚洲图片 | 免费日韩 精品中文字幕视频在线 | 97免费在线观看视频 | 国产无限资源在线观看 | 国产精品福利久久久 | 亚洲最大av | 91成人黄色 | wwwav视频 | 99成人免费视频 | 在线观看mv的中文字幕网站 | 亚洲欧洲成人 | 国产精品理论片 | 91亚洲欧美激情 | 国产精品一区二区在线看 | 极品中文字幕 | 亚洲砖区区免费 | 国产在线免费观看 | 国产亚洲精品电影 | 久久综合成人网 | 日日干美女 | 久久久久久中文字幕 | 欧美巨乳波霸 | 国产一级黄 | 中文字幕人成乱码在线观看 | 国产精品18久久久久久久久久久久 | 久久国产区 | 久久综合久久鬼 | 婷婷亚洲综合 | 丁香五婷| www.日韩免费 | 久久久久久久久久久免费av | 在线涩涩| 午夜精品久久久久久久久久久久 | 欧美一级日韩三级 | 天天操,夜夜操 | 免费亚洲视频在线观看 | 91大神dom调教在线观看 | 久久久香蕉视频 | 日本99精品 | 人人玩人人添人人 | 在线精品亚洲一区二区 | 成年人免费看片 | 欧美a级一区二区 | 日本不卡一区二区三区在线观看 | 日韩亚洲在线视频 | 99免费在线播放99久久免费 | 人人爱人人射 | 日韩中文字幕国产精品 | 国产一区欧美在线 | 一区二区三区国产欧美 | 亚洲精品mv在线观看 | 国产色妞影院wwwxxx | 三级视频片| 91av在线免费看 | 91亚洲精品视频 | 久久国产品 | 黄色国产精品 | 久久九九视频 | 99精品在线免费视频 | 9999精品视频| 久久久久久毛片精品免费不卡 | 久久理论片 | 国产精品一区二区免费看 | 91精品色 | 超碰999| 成 人 黄 色 视频 免费观看 | 久久无码精品一区二区三区 | 最近免费中文字幕大全高清10 | 久久视频国产 | 黄色精品久久 | 成人午夜电影久久影院 | 日韩激情小视频 | 久久这里只有精品23 | 日韩高清国产精品 | 免费视频91蜜桃 | 人人射人人爽 | 日韩首页 | 一区二区网 | 日本久久片 | 亚洲在线免费视频 | 91久久电影 | av黄色免费看 | 91精品在线播放 | 国产色视频一区二区三区qq号 | 久久精品国产亚洲aⅴ | 国产在线 一区二区三区 | 国产一级在线免费观看 | 在线99视频 | 国产一区二区在线播放视频 | 国产精品一区久久久久 | 国产九九九视频 | 亚洲免费精品视频 | 久久蜜臀一区二区三区av | 99免费在线观看 | 亚洲 精品在线视频 | 深爱激情综合 | 国产剧情一区二区在线观看 | 久草电影免费在线观看 | 狠狠狠狠狠狠天天爱 | 免费在线观看av | 日韩午夜网站 | 国产精久久久久久妇女av | 精品免费视频. | 日韩中文字幕亚洲一区二区va在线 | 国产精彩视频一区二区 | 日日摸日日添夜夜爽97 | 国产精品 亚洲精品 | 成人免费大片黄在线播放 | 91成人午夜| 91激情视频在线播放 | 欧洲视频一区 | 久草网站在线 | 中文字幕日韩在线播放 | 成人黄色电影免费观看 | 午夜精品久久久99热福利 | 九九久| 亚洲午夜精品在线观看 | 国产一级视频在线免费观看 | 欧美精品中文字幕亚洲专区 | 福利久久久| 999久久久免费精品国产 | 国产高清黄 | 91成人网在线 | 国产专区第一页 | 五月婷婷婷婷婷 | 麻豆视频在线观看 | 欧美一区二区在线 | 国产伦精品一区二区三区高清 | 日韩有码网站 | 一区二区三区观看 | 日韩免费一区二区三区 | 欧美亚洲精品在线观看 | 亚洲精品视频在线播放 | 伊人宗合| 日韩在线电影 | 国产在线观看你懂得 | 中文字幕人成乱码在线观看 | 国产小视频精品 | www五月天 | 免费a级大片 | 在线视频你懂得 | 日韩免费一级电影 | 欧美精品一区二区三区一线天视频 | 国产一区免费在线观看 | 久久精品99国产精品日本 | 久草视频在线免费 | 热久久免费视频精品 | 免费观看一级视频 | 人人插人人舔 | 国产精品嫩草55av | 中文字幕免费高清 | 国产精品久久久久9999 | 成人黄色片免费 | 中文字幕在线第一页 | 欧美日韩另类在线 | 在线观看国产91 | 中文字幕在线不卡国产视频 | 中文字幕一区二区三区在线观看 | 五月综合激情 | 色视频网站在线观看一=区 a视频免费在线观看 | 久草网免费| 一本一本久久a久久 | 欧美日韩精品在线一区二区 | 亚洲第一中文字幕 | 九九99 | 亚洲精品美女久久久久网站 | 中文字幕在线一区二区三区 | 自拍超碰在线 | 精品在线视频一区 | 成人免费观看大片 | av3级在线 | 婷婷久久一区二区三区 | 免费在线观看av网址 | 成人免费网视频 | 久久艹艹| 超碰在线日本 | 天天av在线播放 | 91传媒在线观看 | 久热久草 | 精品九九九 | 亚洲欧洲一级 | 欧美va天堂在线电影 | 色视频在线观看 | 亚洲播放一区 | 天天色天天搞 | 久久人视频 | 超碰国产在线 | 国产无套一区二区三区久久 | 久久久精品国产免费观看一区二区 | 亚洲激情五月 | 久久国产手机看片 | 91av免费看| 日韩一区二区免费播放 | 91精品国产一区二区在线观看 | 又黄又爽的免费高潮视频 | 亚洲日本激情 | 色综合久久88色综合天天6 | 久久久久精 | 国产视频网站在线观看 | 国产精品99久久久久久武松影视 | 美女久久久 | 青青草久草在线 | 久久黄色精品视频 | 中文字幕av在线不卡 | 国产高清视频在线播放 | 五月天婷亚洲天综合网鲁鲁鲁 | 国产91精品欧美 | 色婷婷丁香 | 久久一二三四 | 探花视频网站 | 99精品国产aⅴ | 中文字幕在线视频国产 | 韩国一区在线 | av电影免费 | 99精品国产亚洲 | 丰满少妇久久久 | 久久久高清 | 久久视频这里有久久精品视频11 | 97爱| 国产一区二区三区高清播放 | 久久久久综合网 | 91亚洲精品国产 | 久久久视频在线 | 欧美一区二区三区免费看 | 热久久精品在线 | 亚洲高清久久久 | 最近中文字幕大全 | 日韩欧美一区二区在线 | 国产中文在线播放 | 久久人人爽人人爽人人片av免费 | 国产精品免费在线视频 | 亚洲欧美经典 | a午夜在线 | 色永久免费视频 | 久久精品视频在线播放 | 99久久婷婷国产一区二区三区 | 免费在线色视频 | 韩国三级av在线 | 欧美日韩一区二区三区视频 | 在线观看视频免费播放 | 人人超碰在线 | av免费网站在线观看 | 99精品视频在线观看播放 | 精品国偷自产在线 | 在线日本v二区不卡 | 国产亚洲在线视频 | 99 精品 在线 | 一本色道久久精品 | 国产97在线看 | www.伊人色.com| 久久人人爽人人片 | 91精品婷婷国产综合久久蝌蚪 | 视频国产一区二区三区 | 久草在线在线 | 婷婷久久网 | 国产精品一区二区三区免费看 | 911国产| 婷婷色网| 欧美色噜噜| 亚洲精品在线观看免费 | 99在线国产 | 久久久精品国产免费观看同学 | 亚洲爽爽网| 国精产品999国精产品视频 | 欧美九九九 | 91精品国产一区二区在线观看 | 国产精品中文字幕在线 | 国产亚洲精品av | 精品国产诱惑 | 精品视频在线免费观看 | 久久久久成人免费 | 久久成人福利 | 久久夜色精品国产亚洲aⅴ 91chinesexxx | 久久精品网站免费观看 | 6080yy精品一区二区三区 | 97超碰网| 亚洲春色综合另类校园电影 | 中文在线8新资源库 | 日韩视频在线播放 | 久久久久综合精品福利啪啪 | 麻豆av电影| 久久爱影视i | 91丨九色丨勾搭 | 国产在线播放观看 | 精品婷婷 | 国产在线精 | 色视频成人在线观看免 | 毛片网在线 | 久久精品久久久久久久 | 黄色三级在线观看 | 成人中文字幕在线 | 亚洲激情在线播放 | 久久激情视频免费观看 | 国产精品淫| 亚洲欧美日韩精品久久久 | 波多野结衣亚洲一区二区 | 丁香婷婷亚洲 | 天天想夜夜操 | 久久视频精品在线 | 人人爽人人爽人人片av免 | 99国产情侣在线播放 | 精品资源在线 | 日韩区欠美精品av视频 | 999久久久精品视频 日韩高清www | 国产一区二区精 | 久久er99热精品一区二区三区 | 免费看国产曰批40分钟 | 久久99久国产精品黄毛片入口 | 探花视频在线版播放免费观看 | 婷婷性综合| 2019天天干天天色 | 在线视频一区观看 | 又黄又爽又无遮挡免费的网站 | 人人爱夜夜操 | 日韩乱色精品一区二区 | 西西人体www444 | 日日干日日 | 777视频在线观看 | 最近乱久中文字幕 | 国产免费久久久久 | 国产精品一区二区三区四 | 日韩天堂网 | 欧美一级大片在线观看 | 97av精品| 天天插天天狠 | 免费成人在线观看 | 亚洲国产综合在线 | 在线中文字幕电影 | 久久99热精品这里久久精品 | 午夜精品视频福利 | 91完整版在线观看 | 国产成人久久精品77777 | 99视频在线观看免费 | 最新av网址在线 | 久久综合狠狠狠色97 | 午夜久久久久久久久久影院 | 在线看毛片网站 | 天天干婷婷 | 日韩精品免费一区二区 | 在线视频电影 | 91精品区| 亚洲精品午夜久久久久久久久久久 | 911精品视频| 91亚洲国产成人 | 不卡电影免费在线播放一区 | 国产人成一区二区三区影院 | 人人澡人人澡人人 | 美女视频永久黄网站免费观看国产 | 91尤物在线播放 | 久久亚洲私人国产精品va | 91看片黄色 | 免费观看高清 | 日本激情视频中文字幕 | 人人爽人人做 | 日本少妇视频 | 首页中文字幕 | 91自拍视频在线 | 亚洲视频精品在线 | 久久亚洲热 | 精品黄色片 | 中文一区在线 | 久久人人97超碰精品888 | 国产中年夫妇高潮精品视频 | 亚州国产精品视频 | 中文字幕在线免费观看 | 9在线观看免费高清完整版在线观看明 | 国产三级午夜理伦三级 | 欧美性久久久久久 | 草在线视频 | 久久伊人91 | 伊人宗合网 | 探花视频免费观看 | 俺要去色综合狠狠 | 日韩av不卡在线 | 成人av电影网址 | 国产黄色在线观看 | 欧美极度另类 | 高清色免费 | 国产精品9999久久久久仙踪林 | 国产69久久精品成人看 | 色国产视频 | 国产亚洲精品久久久久久久久久 | 操操日日 | av电影免费观看 | 成人免费在线观看入口 | 最新av电影网站 | 激情大尺度视频 | www.99久久.com | 久久区二区| 色综合久久综合 | 国产精品久久久久9999 | 91av资源在线 | 国产91九色视频 | 欧美色一色 | 久久草在线视频国产 | 国产精品久久久久久麻豆一区 | 国产午夜在线 | 久久艹艹 | 中文字幕二区在线观看 | 一本一道久久a久久精品 | 日本激情视频中文字幕 | 91看片麻豆 | 青青河边草观看完整版高清 | 久久人人爽| 射射射综合网 | 欧美成人手机版 | 一本色道久久精品 | av福利在线| 久草资源在线 | 国产精品亚洲综合久久 | 国产不卡av在线播放 | 伊人资源视频在线 | 欧美日韩1区2区 | 国产精品成久久久久 | 97超碰人人澡人人爱 | 国产午夜麻豆影院在线观看 | 久久免费电影网 | 亚洲综合小说电影qvod | 国产成人精品aaa | 开心色插 | 草久热| 99色亚洲 | 五月天色丁香 | 亚州日韩中文字幕 | 婷婷在线免费视频 | 久久视频这里有久久精品视频11 | 日日干夜夜骑 | 99久久这里有精品 | 香蕉视频免费看 | av免费看电影 | 伊人亚洲精品 | 92国产精品久久久久首页 | 久久久精品午夜 | 操操操操网 | 精品一区二区三区香蕉蜜桃 | 欧美视频网址 | 精品视频区| 欧美国产在线看 | 国产午夜精品一区二区三区在线观看 | 国产精品 日韩 | 日本韩国在线不卡 | 国产亚洲视频中文字幕视频 | 国产视频精选 | 99精品福利| 日本二区三区在线 | 成人av在线影视 | 黄色av一级片 | 精品一区精品二区 | 色九九在线 | 五月激情婷婷丁香 | 日韩欧美视频在线免费观看 | 正在播放国产一区二区 | 国产精品av久久久久久无 | 九九色在线观看 | 操操操操网 | 在线观看你懂的网址 | 久草免费色站 | 啪啪免费观看网站 | 黄色软件大全网站 | 黄色在线看网站 | 欧美一级小视频 | 国产精品美女网站 | 亚洲草视频 | 午夜精品久久久久久久久久久 | 99这里只有久久精品视频 | 欧美国产日韩一区二区 | 久操伊人 | 日韩在线观看网站 | 亚洲视频免费视频 | 99久久久久| 国产精品每日更新 | ,久久福利影视 | 99视频+国产日韩欧美 | 精品国产伦一区二区三区观看方式 | 成人精品一区二区三区电影免费 | 99国产精品 | 999在线视频 | 9免费视频| 久久精品99国产精品酒店日本 | 四虎国产精品免费 | 日韩av免费大片 | 亚洲一区网 | 最新国产精品拍自在线播放 | 国产精品国产三级国产不产一地 | 国产手机在线播放 | av观看在线观看 | 成人观看 | 成人午夜黄色 | 国产精品欧美 | 日韩电影中文字幕 | 97精品国产一二三产区 | 国产精品情侣视频 | 99久国产 | 日韩一区二区三 | 久久黄色成人 | 日韩视频一区二区三区在线播放免费观看 | 天天综合91 | 亚洲精品久久久久久国 | 欧美巨乳波霸 | 97国产情侣爱久久免费观看 | 五月婷在线观看 | 国产高h视频 | 99视频精品在线 | 中文字幕亚洲欧美日韩2019 | 99久久久国产精品免费99 | 久久爽久久爽久久av东京爽 | 国产激情久久久 | a视频免费在线观看 | 公开超碰在线 | 亚洲伊人天堂 | 黄色成人av在线 | 天天插夜夜操 | 在线免费试看 | 九色精品在线 | 一区二区三区在线视频111 | 久久婷婷视频 | 日本久久久精品视频 | 99热在线看 | 91网页版在线观看 | 国产成在线观看免费视频 | 日本精品一区二区在线观看 | 狠狠干.com| 97热视频 | 精品超碰| 69亚洲视频 | 视频福利在线观看 | 国产精品永久久久久久久www | 亚洲永久精品一区 | 一区二区不卡在线观看 | 天天激情 | 婷婷丁香导航 | 久久毛片网 | 在线观看黄a | 国产成人精品一区二区三区 | 久久久在线观看 | 日日爱影视| 久久国产精品系列 | 亚洲无吗av | 国产美女精品视频 | 免费99精品国产自在在线 | 91九色精品 | 激情网第四色 | av在线免费播放网站 | 国产精品 日韩 | 国产群p| 成年人看片 | 97香蕉久久国产在线观看 | 国产精品久久久久久久久久久久久久 | 久草在线免| 中文字幕观看av | 99色在线观看视频 | 草久久久久 | 综合色天天| 最新99热 | 亚洲欧美精品一区二区 | 亚洲精品视频在线免费 | 天天躁天天操 | 国产精品高清av | 尤物九九久久国产精品的分类 | 91欧美视频网站 | 久久久久久久久久久久久久av | 国产网红在线观看 | 天天综合在线观看 | 在线日韩精品视频 | 不卡av在线播放 | 中文国产在线观看 | 91日韩免费 | 色综合激情网 | 国产成人精品一区二区三区福利 | 日本深夜福利视频 | 国产精品久久久久久久久久久久午 | 中文字幕一区二区三区四区在线视频 | 成人影音在线 | 国产破处精品 | 日本激情视频中文字幕 | 狠狠躁夜夜a产精品视频 | 久久观看| 青青河边草免费直播 | 精品亚洲视频在线 | 久久久国产精品成人免费 | 激情久久久久久久久久久久久久久久 | 国产精品视频在线看 | 久久一区二区三区四区 | 久久国产精品视频免费看 | 国产黄色片久久 | 日韩视频在线不卡 | 狠狠操综合网 | 欧美经典久久 | 亚洲人在线视频 | 最新国产在线 | 99精品一区| 99精品国产兔费观看久久99 | 亚洲韩国一区二区三区 | 97在线观看免费高清完整版在线观看 | 日韩在线精品一区 | 欧美日本中文字幕 | 天天操天天干天天干 | 婷婷综合亚洲 | 最近中文国产在线视频 | 亚洲一区二区黄色 | 五月天综合 | 国产二区电影 | 日本精品xxxx | 久草久草久草久草 | 国产精品不卡一区 | 91福利视频久久久久 | 日韩特级黄色片 | 久久精品123| 色网免费观看 | 成人91av| 国产h片在线观看 | 中文字幕亚洲精品日韩 | 国产在线观看 | 91精品国产99久久久久 | 特片网久久 | 中文在线字幕免费观 | 丁香花中文在线免费观看 | 日韩高清无线码2023 | 午夜影院一级 | 久久夜夜操 | 久久久久久免费网 | 欧美一区二区免费在线观看 | 69视频国产 | 免费试看一区 | 久草在线精品观看 | 激情 婷婷 | 亚洲综合丁香 | 在线小视频你懂的 | 成人av电影免费在线播放 | 在线观看中文字幕av | 欧美日韩视频一区二区三区 | 免费观看性生交大片3 | 手机av资源 | 久久午夜精品影院一区 | 91免费高清视频 | 久久激情日本aⅴ | 狠狠干2018 | 日韩av女优视频 | 欧美在线观看禁18 | 国产视频精品网 | 91精品在线免费观看 | 精品国产三级 | 国产一区二区播放 | 中文字幕第一页在线视频 | 亚洲精品久久激情国产片 | 日韩av区| 国产精品免费观看国产网曝瓜 | 国产成本人视频在线观看 | 国产系列在线观看 | 精品国产亚洲一区二区麻豆 | 9999精品免费视频 | 久久综合五月天 | 丁香婷婷激情 | 中文字幕一区二区在线观看 | av成人黄色| www.夜夜夜 | 免费精品久久久 | 免费看三片| 国产成人精品一区二区三区在线 | 亚洲精品18日本一区app | 久久亚洲综合色 | 激情视频二区 | 国产精品一区二区免费在线观看 | 国产a视频免费观看 | 亚洲我射av | 国产精品欧美久久 | 天天摸天天舔天天操 | 中文字幕在线观看一区 | 不卡的av在线播放 | 日韩一区二区三区视频在线 | 久草在线资源观看 | 久久久久久久久久久久久影院 | 欧美日韩国产一区二区三区在线观看 | 久久精视频| 91在线看黄 | 国产精品美女视频网站 | 日韩国产欧美在线视频 | 久草在线99| 日本动漫做毛片一区二区 | 日韩高清一 | 最新色站| 看av在线 | 国产成人精品久久久 | 久久一区91 | 久草在线资源网 | 麻豆成人小视频 | 最新的av网站 | 久久免费福利 | 夜色资源站wwwcom | 日韩在线观看一区 | 久久一本综合 | 欧美性生活免费看 | 亚洲国产欧洲综合997久久, | 亚洲最新av| 超碰成人网 | 96av麻豆蜜桃一区二区 | 伊人狠狠色 | 久草香蕉在线视频 | 国产福利av在线 | 99视频精品| 国产精品成人免费 | 91在线免费观看网站 | 91电影福利 | 手机看片福利 | 免费看成人片 | 久久久久一区二区三区四区 | 国产黄色av网站 | 精品国产一区二区三区噜噜噜 | 天天天天色综合 | 中文字幕免费播放 | 国产成人在线网站 | 亚洲午夜剧场 | 在线91av| 中文字幕在线播放日韩 | 日韩av片免费在线观看 | 日本韩国中文字幕 | 色狠狠狠| 三级黄色a | www.色婷婷 | 在线视频黄 | 国产一在线精品一区在线观看 | 九九色网| 国产精品久久久久久久久久久久 | 久久久久久亚洲精品 | 亚洲国产三级在线 | 一区二区三区在线免费观看视频 | 国产精品久久久久国产精品日日 | 在线色网站| 亚洲精品伦理在线 | 91香蕉国产在线观看软件 | 日韩中文字幕在线看 | 亚洲久草视频 | www.五月婷婷.com | 国内精品在线一区 |