<style id="7i3y3"></style>

      <sub id="7i3y3"><i id="7i3y3"></i></sub>

        午夜精品一区二区三区成人,中文字幕av一区二区,亚洲AVAV天堂AV在线网阿V,肥臀浪妇太爽了快点再快点,国产网友愉拍精品视频手机,国产精品无码a∨麻豆,久久中文字幕一区二区,a级国产乱理伦片在线观看al
        首頁 新聞 工控搜 論壇 廠商論壇 產品 方案 廠商 人才 文摘 下載 展覽
        中華工控網首頁
          P L C | 變頻器與傳動 | 傳感器 | 現場檢測儀表 | 工控軟件 | 人機界面 | 運動控制
          D C S | 工業以太網 | 現場總線 | 顯示調節儀表 | 數據采集 | 數傳測控 | 工業安全
          電 源 | 嵌入式系統 | PC based | 機柜箱體殼體 | 低壓電器 | 機器視覺
        VPLC系列機器視覺運動控制一體機快速入門(九)劃痕檢測
        深圳市正運動技術有限公司
        收藏本文     查看收藏

         此前,我們依次講解了軟硬件介紹及計數實例、相機的基本使用、基于形狀匹配的視覺定位、BLOB有無檢測、測量尺寸、機器視覺方案中使用到的標定功能、ZDevelop軟件實現識別條形碼和二維碼,以及測量點/直線/圓的功能。

          本期課程我們和大家一起分享機器視覺中使用到的簡單的外觀檢測功能---檢測劃痕。

          視頻教程:《VPLC系列機器視覺運動控制一體機快速入門(九)》

          

          2.png

          

          一、原理

          外觀檢測是機器視覺技術中一個重要的檢測功能,它可以檢測產品表面的臟污、瑕疵、缺陷、毛邊、劃痕等不良因素。在包裝行業和生產制造業被廣泛應用。

          

          3.png

          

          1.劃痕檢測的原理是什么?

          由于劃痕是隨機出現且不具有固定形態的特征,因此無法使用匹配等定位功能檢測判斷劃痕。這時就需要用到形態學處理提取劃痕特征,再配合BOLB檢測判斷劃痕有無。

          劃痕檢測是使用形態學方法(如頂帽算法)將灰度圖像轉換成二值化圖像后,提取劃痕的圖像特征,再使用BLOB檢測對劃痕的特征進行有無檢測。

          

          4.png

          

          2.什么是頂帽算法?

          頂帽算法是將原始的圖像(逐像素)減去開運算的圖像,得到開運算中消除的小面積的局部亮像素區域的一種形態學處理方法。

          開運算是先進行腐蝕,再進行膨脹的一種形態學處理方法。開運算可以去除一些孤立的、細小的亮區域,平滑有毛刺的邊緣線,同時原區域的面積不會發生明顯變化。對于灰度值高于產品灰度值的(亮)劃痕可用頂帽算法檢測出來。

          

          5.png

          

          3.什么是黑帽算法?

          黑帽算法是將閉運算圖像(逐像素)減去原始的圖像,得到閉運算中消除的小面積的局部暗像素區域的一種形態學處理方法。

          閉運算是先進行膨脹,再進行腐蝕的一種形態學處理方法。閉運算可以去除一些孤立的、細小的暗區域,同時原區域的面積不會發生明顯變化。閉運算還可以填充小面積的亮區域的空洞,使分離的亮邊緣相連接。對于灰度值低于產品灰度值的(暗)劃痕可用黑帽算法檢測出來。

          

          6.png

          

          二、劃痕檢測特點

          1.依賴形態學處理

          需要將檢測圖像轉換成二值化圖像,并使用形態學處理圖像突出檢測特征。

          2.無固定形狀特征

          劃痕都是隨機出現的無特定形狀的特征,因此無法通過匹配進行檢測。

          3.基于BLOB檢測

          提取出劃痕特征后需要使用BLOB檢測出連通的劃痕區域。

          4.需要一定對比度

          劃痕和待檢測產品需要滿足一定的對比度,才能使用形態學處理方法提取對應特征。

          

          7.png

          

          1.打開ZDevelop軟件:新建項目→新建HMI文件→新建main.bas文件,用于編寫界面響應函數→新建global_variable.bas文件用于存放全局變量并開啟HMI自動運行任務→新建InitParam.bas文件用于初始化測量參數→新建camera.bas文件用于實現相機采集功能→新建draw.bas文件用于更新繪制圖形刷新界面→文件添加到項目。

          

          8.png

          

          2.設計HMI界面。

          

          9.png

          

          3.在global_variable.bas文件中定義全局變量,定義完成后運行Hmi.hmi文件。
         

          '''''全局變量大部分使用數組結構'''''

          ''注:basic編程中很多函數會以TABLE(系統的數據結構)做為參數

          ''在這里table均是做為中間變量
         

          ''table 21-22,鼠標按鍵,控件坐標系

          ''table 31-35,旋轉矩ROI參數,cx、cy、width、height、angle,控件坐標系

          ''table 41-45,旋轉矩形控件坐標轉換后對應的圖像坐標,圖像坐標系
         

          ''table 51-56,圓環ROI參數,cx、cy、圓環中線半徑r、圓環半寬ann_R、起始角度stAngle、角度范圍entAngle,控件坐標系

          ''table 61-66,圓環控件坐標轉換后對應的圖像坐標,圖像坐標系
         

          '主任務狀態

          '0 - 未初始化

          '1 - 停止

          '2 - 運行中

          '3 - 正在停止

          GLOBAL DIM main_task_state

          main_task_state = 1
         

          '采集開關

          '0 - 停止采集

          '1 - 請求采集

          GLOBAL DIM grab_switch

          grab_switch = 0
         

          '相機個數

          GLOBAL cam_num

          cam_num = 0
         

          '相機種類,"zmotion;mvision;basler;mindvision;huaray"

          GLOBAL DIM CAMERA_TYPE(16)

          CAMERA_TYPE = "mvision"
         

          ' 定義主任務id - 10

          GLOBAL DIM main_task_id

          main_task_id = 10
         

          '定義連續采集任務id - 9

          GLOBAL DIM grab_task_id

          grab_task_id = 9
         

          '定義全局圖像變量

          GLOBAL ZVOBJECT grabImg '采集圖像

          GLOBAL ZVOBJECT binImg '二值化圖像

          GLOBAL ZVOBJECT disImg '顯示圖像
         

          '定義常用顏色變量

          GLOBAL C_RED, C_GREEN, C_BLUE, C_YELLOW

          C_RED = RGB(255, 0, 0)

          C_GREEN = RGB( 0,255, 0)

          C_BLUE = RGB( 0, 0,255)

          C_YELLOW= RGB(255,255, 0)
         

          GLOBAL DIM d_def_num '定義劃痕數量結果

          GLOBAL DIM d_def_state '定義狀態結果
         

          '定義劃痕數據結果存儲數組變量

          GLOBAL DIM value(10000),id
         

          '旋轉矩形ROI參數:cx、cy、width、height、angle

          GLOBAL DIM d_roi_rect2(5)
         

          '檢測參數:劃痕類型、檢測方向、檢測尺寸、對比度、最小面積、最大面積

          GLOBAL DIM d_detect_param(6)
         

          '***********定義讀取本地文件功能相關變量**************

          ''注意,該功能只在使用仿真器時有效

          '定義是否使用本地圖片標志

          GLOBAL DIM d_use_imgfile

          d_use_imgfile=1
         

          '定義本地圖片索引

          GLOBAL DIM d_index

          d_index=0
         

          '定義讀取圖片的路徑

          GLOBAL DIM File_Name(100)
         

          '***********結束定義讀取本地文件功能相關變量**********
         

          '運行HMI文件

          RUN "Hmi.hmi",1
         

          4.在InitParam.bas文件中初始化測量參數。
         

          end
         

          GLOBAL SUB init_detect_param()'初始化測量參數
         

             d_def_num = 0 '劃痕結果初始化為0

             d_def_state = 0 '狀態結果初始化為0

             TABLE(1)=1

             '初始化roi參數

             d_roi_rect2(0) = 160.0 'roi中心x

             d_roi_rect2(1) = 120.0 'roi中心y

             d_roi_rect2(2) = 80.0 'roi寬

             d_roi_rect2(3) = 60.0 'roi高

             d_roi_rect2(4) = 0.0 'roi角度

             TABLE(31) = d_roi_rect2(0) '將roi變量賦值給起始地址為31的table數組

             TABLE(32) = d_roi_rect2(1)

             TABLE(33) = d_roi_rect2(2)

             TABLE(34) = d_roi_rect2(3)

             TABLE(35) = d_roi_rect2(4)
         

             '初始化檢測參數:劃痕類型、檢測方向、檢測尺寸、對比度、最小面積、最大面積

             d_detect_param(0) = 0 '初始化劃痕類型為暗

             d_detect_param(1) = 2 '初始化檢測方向為X軸和Y軸

             d_detect_param(2) = 4 '初始化檢測尺寸為4

             d_detect_param(3) = 20 '初始化對比度為20

             d_detect_param(4) = 2000 '初始化最小面積為2000個像素

             d_detect_param(5) = 7000 '初始化最大面積為7000個像素
         

             '將劃痕結果變量賦值為0

             for i=0 to 100

                 value(i)=0

             next
         

          END SUB
         

          5.關聯HMI界面值顯示控件變量。

          

          10.png

          

          6.在main.bas文件中添加HMI界面初始化函數并在Hmi系統設置中關聯初始化函數。
         

          'HMI界面初始化函數

             GLOBAL SUB hmi_init()
         

             grab_switch = 0 '初始化采集開關為停止采集

             main_task_state = 1 '初始化主任務狀態為停止狀態
         

             '初始化時依據圖像分辨率設置區域的裁剪尺寸,此處圖像分辨率為1280x960

             ZV_RESETCLIPSIZE(1280, 960)

             '設置鎖存通道0的大小,以適應圖片元件控件大小

             ZV_LATCHSETSIZE(0, HMI_CONTROLSIZEX(10, 7), HMI_CONTROLSIZEY(10, 7))
         

             ZV_SETSYSINT("LineWidth",5) '設置繪制畫筆寬度為5個像素
         

             init_detect_param() '初始化測量參數
         

             ZV_LATCHCLEAR(0) '清空鎖存通道0

             ZV_LATCHCLEAR(1) '清空鎖存通道1

          END SUB

          

          11.png

          

          7.在camera.bas文件中添加HMI界面中采集相關按鈕響應的函數并關聯動作函數。

          

          12.png

          

          end
         

          '主界面按下掃描相機按鈕時響應的函數

          GLOBAL SUB cam_scan_all()
         

             if(d_use_imgfile=1)then

                 ?"請先按下使用本地圖片按鈕關閉該功能"

             return

          endif
         

          ZV_SETSYSINT("LogLevel", 7) '設置控制器信息

          ZV_SETSYSSTR("DataDir","")
         

          CAM_SCAN(CAMERA_TYPE) '掃描相機,CAMERA_TYPE="mvision"

          cam_num = CAM_COUNT() '獲取掃描到的相機數量

          if (0 = cam_num) then '如果相機數量=0,打印提示信息

                     ? "未找到相機"

                 return '退出子函數,不往下執行

             endif

             ?"cam_num = " cam_num '如果掃描到相機,打印相機數量
         

             CAM_SEL(0) '選擇掃描到的第一個相機進行操作

             CAM_SETEXPOSURE(5000) '設置相機曝光時間為5000us

             CAM_SETMODE(0) '設置軟件觸發模式

             CAM_START(0) '開啟相機
         

          END SUB
         

          '主界面按下單次采集按鈕執行的函數

          GLOBAL SUB btn_grab()
         

             '如果d_use_imgfile=1時使用讀取本地圖片功能,使用控制器時請將此部分代碼注釋掉

             if (d_use_imgfile=1) then

                 if(d_index=3) then

                     d_index=0

                 endif

                     File_Name="\9\"+TOSTR(d_index,1,0)+".bmp" '.../flash/9/目錄下的圖片所在的路徑名稱

                     ZV_IMGREAD(grabImg,File_Name,1)

                     ZV_LATCH(grabImg, 0)

                     d_index=d_index+1

                 return

             endif

             ''讀取本地圖片功能結束
         

             '如果相機數量為0,提示先掃描相機,并退出子函數不往下執行

             if cam_num = 0 then

                     ?"請先掃描相機!"

                 return

             endif
         

             CAM_SETPARAM("TriggerSoftware", 0) '發送觸發指令

             CAM_GET(grabImg, 0) '獲取一幀圖像存放到grabImg變量中

             ZV_LATCH(grabImg, 0) '將圖像顯示到鎖存通道0中
         

          END SUB
         

          '主界面按下連續采集按鈕響應的函數

          GLOBAL SUB btn_cgrab()

             if grab_switch =1 then '如果已經處于連續執行狀態,打印提示信息并退出函數

                 ?"正在連續運行中,請勿重復操作!"

             return

          endif
         

          if( d_use_imgfile =0) then '如果使用相機采集功能

                 if cam_num = 0 then '判斷如果相機數量=0,打印提示信息并退出函數

                     ?"請先掃描相機!"

                 return

             endif

          endif

                 grab_switch = 1 '采集任務開關置1

                   if (1 = grab_switch) then

              if (0 = PROC_STATUS(grab_task_id)) then

                 RUNTASK grab_task_id, grab_task '開啟連續采集任務

              endif

          endif

          END SUB
         

          '采集任務實現函數

          grab_task:

          while(1)

             if (0 = grab_switch) then '如果采集任務開關=0即停止采集按鈕按下時

                 exit while '退出循環

                 endif

                 'grab_switch=1時重復執行以下操作

                 btn_grab()'單次采集按鈕響應的函數

             wend

          END
         

          '主界面按下停止采集按鈕響應的函數

          GLOBAL SUB btn_stopCgrab()

          if grab_switch =0 then '如果已經處于停止采集狀態,打印提示信息并退出函數

                 ?"未開啟連續采集!"

             return

             endif

                 grab_switch = 0 '將采集任務開關置0

          END SUB
         

          8.在draw.bas文件中添加檢測ROI更新繪制函數,并在自定義元件屬性窗口中關聯刷新函數和繪制函數。
         

          end
         

             '和繪制(即選擇ROI)有關的界面的刷新繪制函數放在這個bas文件里

             DIM is_redraw '繪圖標志,0表示未進行繪制,1表示正在進行繪制

             is_redraw = 0
         

             DIM hit_pos '定義調整操作標志
         

          '根據鼠標操作更新ROI位置區域函數

          GLOBAL SUB update_roi()
         

             if mouse_scan(21) = 1 then '掃描鼠標按下操作

                 '只有按下時可以改變擊中位置,獲取鼠標點擊位置對應的擊中區域編號

                 hit_pos = ZV_HMIADJRECT2(table(21), table(22), 31, -1)

                 is_redraw = 1 '繪圖標志置1

             endif
         

             if mouse_scan(21) = -1 then '掃描鼠標松開操作

                 '根據區域編號調整roi區域位置

                 ZV_HMIADJRECT2(table(21), table(22), 31, hit_pos)

                 is_redraw = 1 '繪圖標志置1

             endif
         

             if (MOUSE_state(21)) then '鼠標按下時

                 '根據區域編號調整roi區域位置

                 ZV_HMIADJRECT2(table(21), table(22), 31, hit_pos)

                 is_redraw = 1 '繪圖標志置1

             endif
         

             if (1 = is_redraw) then '如果繪制標志=1

                 is_redraw = 0 '繪圖標志置0

                 '控件roi坐標轉圖像roi坐標,控件坐標存放在起始地址為111的數組,圖像坐標存放在起始地址為50的數組

                 ZV_POSTOIMG(0, 1, 31, 41)

                 d_roi_rect2(0) = TABLE(41)'將圖像坐標的數據賦值給ROI變量

                 d_roi_rect2(1) = TABLE(42)

                 d_roi_rect2(2) = ZV_LENTOIMG(0, TABLE(33))

                 d_roi_rect2(3) = ZV_LENTOIMG(0, TABLE(34))

                 d_roi_rect2(4) = TABLE(35)

                 SET_REDRAW '重新繪制全部區域

             endif
         

          END SUB
         

          'ROI區域更新后實時繪制ROI區域

          GLOBAL SUB draw_roi()
         

             SET_COLOR(C_BLUE) '設置畫筆顏色為藍色

             ZV_HMIRECT2(31, 300) '將旋轉矩形roi分解為HMI支持的繪圖圖元并添加控制參數,便于HMI繪圖顯示

             DRAWLINE(TABLE(300), TABLE(301), TABLE(302), TABLE(303)) '繪制外矩形

             DRAWLINE(TABLE(302), TABLE(303), TABLE(304), TABLE(305))

             DRAWLINE(TABLE(304), TABLE(305), TABLE(306), TABLE(307))

             DRAWLINE(TABLE(306), TABLE(307), TABLE(300), TABLE(301))

          END SUB

          

          13.png

          

          9.在main.bas文件中添加HMI界面按下【上一頁】按鈕時響應的函數并關聯動作函數名。

          

          14.png

          

          'HMI界面按下上一頁按鈕時響應的函數

          GLOBAL SUB last_()
         

             id=id-1 'id變量自減1

             if id<0 then '如果id變量<0

                 id =0 'id=0

             endif
         

          END SUB

          

          15.png

          

          10.在main.bas文件中添加HMI界面按下【下一頁】按鈕時響應的函數并關聯動作函數名。

          

          16.png

          

          'HMI界面按下下一頁按鈕時響應的函數

          GLOBAL SUB next_()

          id=id+1 'id變量自加1

          END SUB

          

          17.png

          

          11.在main.bas文件中添加HMI界面按下【測試】按鈕時響應的函數并關聯動作函數名。

          

          18.png

          

          'HMI界面按下測試按鈕時響應的函數

          GLOBAL SUB btn_test()

          for i=0 to 100 '檢測前先將結果數據清零

          value(i)=0

          next

          '定義二值化白色區域、二值化區域、二值化黑色區域、連通區域、檢測結果、劃痕輸出圖像、輸出結果矩陣、結果列表

          GLOBAL ZVOBJECT regionWhite, regionMask, regionBlack,re_connecte,rst,outImg,mat,relist

          '根據ROI數據生成檢測區域ROI

          ZV_REGENRECT2(regionMask, d_roi_rect2(0), d_roi_rect2(1), d_roi_rect2(2), d_roi_rect2(3), d_roi_rect2(4))

          '表面外觀缺陷檢測算子,傳參分別是:輸入圖像、檢測區域、輸出檢測結果、檢測劃痕類型、檢測軸、檢測尺寸、對比度閾值、最小面積、最大面積

          ZV_DEFDETECTSUR_(grabImg,regionMask,rst,d_detect_param(0),d_detect_param(1),d_detect_param(2),d_detect_param(3),d_detect_param(4),d_detect_param(5))

          '獲取缺陷結果算子,傳參分別是:檢測結果、輸出缺陷圖像、數據結果矩陣、結果列表、輸出圖像類型、輸出結果排序類型

          ZV_DEFGETSURRST_(rst,outImg,mat,relist,2,0)'獲取缺陷結果

          ZV_LATCH(outImg,1)'將缺陷結果圖像顯示到鎖存通道1中

          ZV_MATINFO(mat,50)'獲取結果矩陣的信息并存放到起始地址為50的變量中

          d_def_num=table(50)'將矩陣行數即劃痕數量賦值給結果變量

          if (TABLE(50)=0) then '如果檢測到的劃痕數量=0,則結果狀態=1

          d_def_state=1

          else d_def_state=0

          endif

          ?TABLE(50),TABLE(51)'打印提示矩陣的行數和列數信息

          for i = 0 to TABLE(50)-1 '循環給數據結果變量賦值

          '獲取第i行矩陣數據結果,包括面積 周長,坐標x,坐標y

          ZV_MATGETROW(mat, i, 4, 100+i*4)

          value(i*4+0)=TABLE(100+i*4+0)'將table數據賦值給對應變量

          value(i*4+1)=TABLE(100+i*4+1)

          value(i*4+2)=TABLE(100+i*4+2)

          value(i*4+3)=TABLE(100+i*4+3)

          next

          END SUB

          

          19.png

          

          12.在main.bas文件中添加【運行】按鈕響應的函數并關聯動作函數。

          

          20.png

          

          HMI界面按下運行按鈕時響應的函數

          GLOBAL SUB btn_run()

          if(2 = main_task_state) then '如果主任務處于運行中狀態

              ?"已經開啟連續運行任務,請勿重復操作!" '打印提示

          return

          endif

             if (1 = main_task_state) then '如果主任務處于停止狀態

                 if (0 = PROC_STATUS(main_task_id)) then'如果程序中任務未開啟

                     main_task_state = 2 '將主任務狀態設置為運行中狀態

                     RUNTASK main_task_id, main_task'開啟主任務

                  endif

              endif

          END SUB

          '主任務執行的函數

          main_task:

             while(1)

                 '如果主任務狀態處于正在停止狀態即停止按鈕按下時

                 if (3 = main_task_state) then

                     main_task_state = 1'將主任務狀態設置為停止狀態

                     exit while '退出循環

                 endif

                     '否則循環執行采集和檢測函數

                     btn_grab()

                     btn_test()

             wend

          END

          

          21.png

          

          13.在main.bas文件中添加【停止】按鈕響應的函數并關聯動作函數。

          

          22.png

          

          HMI界面按下停止按鈕時響應的函數

          GLOBAL SUB btn_stop()

          if (2 = main_task_state) then '如果主任務狀態處于2即任務運行中時

          main_task_state = 3 '將主任務狀態置為3,退出循環

          endif

          END SUB

          

          23.png

          24.png

          25.png

          26.png

          27.png

          

          本次,正運動技術VPLC系列機器視覺運動控制一體機快速入門(九)——外觀檢測功能---檢測劃痕,就分享到這里。

          更多精彩內容請關注“正運動小助手”公眾號,需要ZDevelop開發環境與例程代碼,請咨詢正運動技術銷售工程師:400 089 8936。

          本文由正運動技術原創,歡迎大家轉載,共同學習,一起提高中國智能制造水平。文章版權歸正運動技術所有,如有轉載請注明文章來源。

          正運動技術專注于運動控制技術研究和通用運動控制軟硬件產品的研發,是國家級高新技術企業。正運動技術匯集了來自華為、中興等公司的優秀人才,在堅持自主創新的同時,積極聯合各大高校協同運動控制基礎技術的研究,是國內工控領域發展最快的企業之一,也是國內少有、完整掌握運動控制核心技術和實時工控軟件平臺技術的企業。主要業務有:運動控制卡_運動控制器_EtherCAT運動控制卡_EtherCAT控制器_運動控制系統_視覺控制器__運動控制PLC_運動控制_機器人控制器_視覺定位_XPCIe/XPCI系列運動控制卡等等。


         

        狀 態: 離線

        公司簡介
        產品目錄

        公司名稱: 深圳市正運動技術有限公司
        聯 系 人: 戴德弟
        電  話: 0755-32976042
        傳  真: 0755-2606 6955
        地  址: 深圳市寶安區西鄉洲石路陽光工業園A1棟5樓
        郵  編: 518100
        主  頁:
         
        該廠商相關技術文摘:
        強實時運動控制內核MotionRT750(十):運動控制中的微調軌跡動態補償
        機器視覺運動控制一體機在大功率共模電感多面AI外觀缺陷檢測應用
        MotionRT750 SoftMotion:XPCIE1032H超高速運動控制卡在AOI檢測設備上的應用
        強實時運動控制內核MotionRT750(九):內置C語言的自定義機械手模型實現
        NEPCON ASIA 2025:解鎖行業新機遇,我們在深圳等您
        開放式激光振鏡運動控制器在旋轉飛行打標中的應用
        強實時運動控制內核MotionRT750(八):us級高速交互之LabVIEW,為智能裝備提速
        液態點膠密封解決方案,柔性升級,密封更可靠!
        柔性機械手視覺供料解決方案,提升無序分揀效率!
        【2025上海工博會】正運動展位智造未來(二)
        【2025上海工博會】正運動展位智造未來(一)
        【2025上海工博會】機器視覺運動控制一體機應用預覽(三)
        更多文摘...
        立即發送詢問信息在線聯系該技術文摘廠商:
        用戶名: 密碼: 免費注冊為中華工控網會員
        請留下您的有效聯系方式,以方便我們及時與您聯絡

        關于我們 | 聯系我們 | 廣告服務 | 本站動態 | 友情鏈接 | 法律聲明 | 不良信息舉報
        工控網客服熱線:0755-86369299
        版權所有 中華工控網 Copyright©2022 Gkong.com, All Rights Reserved

        主站蜘蛛池模板: 波多野结衣绝顶大高潮| 加勒比在线中文字幕一区二区| 久久WWW免费人成看片入口| 黄色一级片免费观看| 免费无码高H视频在线观看| 国产精品一区二区三区黄| 91久久天天躁狠狠躁夜夜| 奇米四色7777中文字幕| 日本一区不卡高清更新二区| 偷窥国产亚洲免费视频| 色欲久久人妻内射| 欧美黑人XXXX性高清版| 久久久久亚洲A√无码| xbox免费观看高清视频的软件| 亚洲高清aⅴ日本欧美视频| 久久精品国产亚洲不AV麻豆| 中国少妇嫖妓BBWBBW| 亚洲中文日韩一区二区三区| 亚洲第一国产综合| 中文字幕日韩精品欧美一区| 亚洲国产日韩a在线播放| 成人免费xxxxx在线观看| 欧美精品视频一区二区三区| 综合无码一区二区三区四区五区| 久久99精品一久久久久久| 97人妻免费碰视频碰免| 成年人国产网站| 亚洲高清WWW色好看美女| 国产精品亚洲第一区在线| 99久久国产一区二区三区| 精品人妻伦一二二区久久| 国产一区二区三区综合视频| 亚洲成人av免费一区| 无码成人午夜在线观看| 免费人成在线观看网站| 四房播播在线电影| 国产午夜精品福利免费看| 国产中文字幕在线一区| 国产99re热这里只有精品| 国产成人精品三级在线影院| 国产亚洲精久久久久久无码AV|