精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

快速入門開發(fā)實現(xiàn)訂單類圖片識別結(jié)果抽象解析

企業(yè)動態(tài)
本篇內(nèi)容主要介紹一種針對識別完結(jié)果進行行列解析的抽象流程和方案,來提高開發(fā)效率。

 一、背景

面對訂單數(shù)據(jù)紙質(zhì)文件或圖片,僅靠人眼識別的話效率低,需引入機器學習來識別和解析圖片以提高效率。當前市面已有收費的圖片識別服務,包括阿里、百度等,識別效果較好,但針對訂單類圖片,不僅需要關注圖片上的文字,還需要關注文字所在的行列,來分出每條數(shù)據(jù)和數(shù)據(jù)詳細字段。

本篇內(nèi)容主要介紹一種針對識別完結(jié)果進行行列解析的抽象流程和方案,來提高開發(fā)效率。

本文只提供思路,不提供源碼。另外,本文不介紹人工智能圖片識別,有興趣的同學請關注大神們的文章,這里推薦“宜信技術學院官網(wǎng)文章AI板塊”。

二、解析流程

對于圖像處理,opencv算是比較優(yōu)秀的,所以選做本文圖像處理首選軟件。為了使圖片識別率更高,需要先做圖片矯正,這里采用較為簡單的霍夫變換加去噪聲點算法矯正圖片。圖片矯正后,調(diào)用圖片識別服務獲取結(jié)果,一般結(jié)果格式包括響應碼、錯誤描述、文字塊列表(文字和四點坐標)等。根據(jù)識別結(jié)果使用抽象的俄羅斯方塊法來識別結(jié)果獲取行列信息。最后根據(jù)行列信息組裝每一行數(shù)據(jù)并顯示。

三、處理細節(jié)

3.1 opencv安裝概要

opencv安裝簡單提示,這里不細說,以后有時間單獨發(fā)文。

1)windows

  • 下載編譯好的包:https://opencv.org/releases/
  • 解壓縮到自定義文件夾。

2)linux

  • 推薦使用ubuntu,并且最好是全新的系統(tǒng),因為opencv會依賴很多包,對版本要求也高,解決沖突會很麻煩。
  • 下載源碼
  • 安裝依賴包
  • 編譯安裝

我們使用java調(diào)用opencv,這里需要安裝獲取到開發(fā)包,windows為opencv_javaxxx.dll,linux為libopencv_javaxxx.so,程序初始化時需要加載到jvm。詳細代碼如下:

  1. System.load(PropertieUtil.getPropertie("這里是dll或so的完整路徑"); 

3.2 圖片矯正

3.2.1 矯正探索

圖片矯正探索之路較為艱辛,起初我們想了一個比較簡單的方案:先調(diào)用圖片識別服務,獲取到結(jié)果,再根據(jù)每一個字塊的四角坐標判斷出每個字塊的傾斜角,然后再根據(jù)去噪算法算出平均的傾斜角。理論上這個方案是可行的,但實踐證明我們是錯的,因為圖片識別服務返回的坐標圖片不準確,多數(shù)的圖片算出的結(jié)果都是錯誤的。

經(jīng)查發(fā)現(xiàn)霍夫變換有可能解決這個問題,于是開始嘗試學習霍夫變換和去燥算法,最終發(fā)現(xiàn)可行,并抽象出公共方法,僅需簡單配置一些參數(shù)就能完成矯正。

圖片矯正分為兩步:

    第一步:正反矯正,判斷圖片傾斜角度是90°、180°、270°、0°,這個通過數(shù)學方法是無法判斷的,需要引用機器學習。

    第二步:角度微調(diào),一般為確定圖片是正的,且傾斜角度在+-30°左右。

需要注意:上面說的辦法不可能通過一套參數(shù)來對所有圖片進行微調(diào),但是線上數(shù)據(jù)證明,針對一類圖片,一套參數(shù)基本能讓大多數(shù)圖片都矯正正確。

3.2.2 霍夫變換概要

霍夫變換是數(shù)學界經(jīng)典空間變換算法,用于檢測直線,通過大量檢測到的直線的斜率就能計算出圖片傾斜角度。先進行二值化和邊緣檢測,再進行霍夫變換效果更佳。詳細算法內(nèi)容請自行搜索,本文不細聊。

3.2.3 去噪聲點算法

基本公式:

        上限=均值+n*標準差

        下限=均值-n*標準差

其中n取值一般為1-4,數(shù)值越大表示篩選率越高。最后再將符合的數(shù)據(jù)求均值。

核心代碼如下:

  1. /** 
  2.  
  3. * 利用標準差篩選 
  4.  
  5. * @param values 
  6.  
  7. * @return 
  8.  
  9. */ 
  10.  
  11. private static double[] calcBestCornList(double[] values) { 
  12.  
  13. // 計算標準差 
  14.  
  15. StandardDeviation variance = new StandardDeviation(); 
  16.  
  17. double evaluate = variance.evaluate(values); 
  18.  
  19. Mean mean = new Mean(); 
  20.  
  21. double meanValue = mean.evaluate(values); 
  22.  
  23. double biggerValue = meanValue + CHOOSE_POWER * evaluate; 
  24.  
  25. double smallerValue = meanValue - CHOOSE_POWER * evaluate; 
  26.  
  27. List<Double> selected = Lists.newArrayList(); 
  28.  
  29. for (double value : values) { 
  30.  
  31. if (value >= smallerValue && value <= biggerValue) { 
  32.  
  33. selected.add(value); 
  34.  
  35.  
  36.  
  37. double[] selectedValue = new double[selected.size()]; 
  38.  
  39. for (int i = 0; i < selected.size(); i++) { 
  40.  
  41. selectedValue[i] = selected.get(i); 
  42.  
  43.  
  44. logger.info("占比:{}%,篩選后角度數(shù)組:{}", (selectedValue.length / (float)values.length) * 100F, selected); 
  45.  
  46. return selectedValue; 
  47.  

3.2.4 霍夫變化抽象封裝

基本流程:

    1、定義相關參數(shù)。

    2、讀取圖片。

    3、灰度二值化處理。

    4、使用opencv畫出輪廓。

    5、根據(jù)參數(shù)要求多次畫霍夫變換線,直到線數(shù)量滿足參數(shù)為止。

    6、遍歷畫出的線,分出橫線和豎線,根據(jù)配置計算出每條線角度。

    7、使用去噪聲算法(需要根據(jù)非0數(shù)自動重復計算)算出平均傾斜角度。

    8、使用opencv旋轉(zhuǎn)圖片。

核心代碼如下:

  1. /** 
  2.  
  3. * 矯正圖片,通過霍夫變換矯正 
  4.  
  5. * @param oldImg 原始圖片 
  6.  
  7. * @param rotateParam 旋轉(zhuǎn)參數(shù) 
  8.  
  9. * @return 
  10.  
  11. */ 
  12.  
  13. public static String rotateHoughLines(File oldFile, String oldImg, RotateParam rotateParam, String cid, String bankCode) throws Exception { 
  14.  
  15. Mat src= Imgcodecs.imread(oldFile.getAbsolutePath()); 
  16.  
  17. //讀取圖像到矩陣中 
  18.  
  19. if(src.empty()){ 
  20.  
  21. throw new Exception("no file " + oldFile.getAbsolutePath()); 
  22.  
  23.  
  24. // 用于計算的圖片矩陣 
  25.  
  26. Mat mathImg = src.clone(); 
  27.  
  28. // 灰度化 
  29.  
  30. Imgproc.cvtColor(src, mathImg, Imgproc.COLOR_BGR2GRAY); 
  31.  
  32. logger.info("二值化完成"); 
  33.  
  34. // 獲取輪廓 
  35.  
  36. Imgproc.Canny(src, mathImg, rotateParam.getCvtThreshould1(), rotateParam.getCvtThreshould2()); 
  37.  
  38. logger.info("輪廓完成"); 
  39.  
  40. // 霍夫變換獲取角度,詳細代碼略 
  41.  
  42. double corn = houghLines(mathImg, rotateParam, cid); 
  43.  
  44. logger.info("霍夫變換完成,角度:{}", corn); 
  45.  
  46. if(corn == 0) { 
  47.  
  48. return oldImg; 
  49.  
  50.  
  51. return rotateOpenv(oldFile, corn, cid, bankCode); 
  52.  

3.3 常用圖片識別方案

阿里、百度都有提供圖片識別服務,另外如果有實力也可以自己實現(xiàn),當然不建議自研,因為樣本需求量巨大,時間成本過高。

3.4 識別結(jié)果解析

3.4.1 探索之路

本章節(jié)為本文重點內(nèi)容,因為前面所提到的都是較為基礎的服務和算法,大量開發(fā)內(nèi)容都在本章。前期要開發(fā)的訂單圖片類型巨量(大于100種),每一類圖片區(qū)別很大,我們有幾個人分類型開發(fā),但是每個人所用的方法都不同,且張三開發(fā)出來的李四看不懂,不過畢竟面對的是圖片,比較抽象,是可以理解的。

開發(fā)一段時間后,我們發(fā)現(xiàn)了問題。每種類型最快也要一周才能開發(fā)完成,而且解析成功率極低。開發(fā)出一套抽象的方法來把行列數(shù)據(jù)提取出來迫在眉睫。

通過調(diào)研發(fā)現(xiàn)大家常用兩種方法來提取行列數(shù)據(jù),分別為坐標法和標題法,但是這兩種方法解析率都不高。經(jīng)過幾周思考,終于想出了一套較好的方法,命名為俄羅斯方塊法,解決了問題。

3.4.2 俄羅斯方塊法

思路概要:

1. 拿到識別結(jié)果數(shù)據(jù)。

2. 先把所有數(shù)據(jù)的y坐標進行排序。

3. 遍歷排序結(jié)果,先把第一條放入第一列結(jié)果集中。

4. 從第二條開始和第一列結(jié)果集對比。

5. 對比方法:

--如果在第一列結(jié)果集其中一條數(shù)據(jù)的右側(cè),則認為是新列。

--如果在y軸方法和第一列結(jié)果其中某些數(shù)據(jù)重疊了,則認為是新列。

6. 如果以上兩條都不是,則認為本條數(shù)據(jù)還在當前列中,放入第一列結(jié)果集。

7. 以此類推,繼續(xù)對比,直到對比到最后一列最后一條數(shù)據(jù)。

8. 按照上面方法,反過來,以x軸為標準,能夠得到行結(jié)果集。

 思路圖如下:

快速入门开发实现订单类图片识别结果抽象解析

概要代碼如下:

  1. // 按照最左上角的x坐標排序 
  2. OcrWordInfo[] sortL = NoTableParseResult.ParseUtil.bubbleSortX(ocrResponse.getPrism_wordsInfo(), false); 
  3. NoTableParseResult ntpr = new NoTableParseResult(param); 
  4. ntpr.setHeight(converImg.height()); 
  5. ntpr.setWight(converImg.width()); 
  6. for (int i = 0; i < sortL.length; i++) { 
  7. // 當前要比較的數(shù)據(jù) 
  8. OcrWordInfo ocrWordInfo = sortL[i]; 
  9. // 處理當前列數(shù)據(jù) 
  10. ntpr.getUtil().testCurColData(ocrWordInfo); 
  11. // 處理最后一列 
  12. ntpr.lastCol(); 
  13. /** 
  14. * 判斷是否為下一列,并處理 
  15. * @param ocrWordInfo 
  16. * @return 
  17. */ 
  18. public void testCurColData(OcrWordInfo ocrWordInfo) { 
  19.  
  20. // 遍歷當前列已存在的所有數(shù)據(jù) 
  21. int size = this.test.getCol().size(); 
  22. if(size == 0) { 
  23. this.test.addCol(ocrWordInfo); 
  24. return
  25. for (int i = 0; i < size; i++) { 
  26. OcrWordInfo temp = this.test.getCol().get(i); 
  27. // 最右邊的數(shù)據(jù) 
  28. int x1 = temp.getPos().get(1).getX(); 
  29. int x2 = temp.getPos().get(2).getX(); 
  30. // 當前數(shù)據(jù)最左邊 
  31. int xx0 = ocrWordInfo.getPos().get(0).getX(); 
  32. int xx3 = ocrWordInfo.getPos().get(3).getX(); 
  33.  
  34. int threholdx = this.test.param == null ? 0 : this.test.param.getCoverColXThrehold(); 
  35. if(xx0 >= (x1 - threholdx) && xx0 >= (x2 - threholdx) && xx3 >= (x1 - threholdx) && xx3 >= (x2 - threholdx)) { 
  36. // 當前數(shù)據(jù)在右邊,說明換列了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
  37. this.test.colAdd(); 
  38. this.test.addCol(ocrWordInfo); 
  39. return
  40. else { 
  41. // 判斷是否覆蓋坐標 
  42. int y0 = temp.getPos().get(0).getY(); 
  43. int y3 = temp.getPos().get(3).getY(); 
  44. int yy0 = ocrWordInfo.getPos().get(0).getY(); 
  45. int yy3 = ocrWordInfo.getPos().get(3).getY(); 
  46. int threhold = (int)Math.round((y3 - y0) * (this.test.param == null ? 0.25 : this.test.param.getCoverThrehold())); 
  47. if(!(yy3 <= (y0 + threhold) || yy0 >= (y3 - threhold))) { 
  48. // 當前列表數(shù)據(jù)重疊,說明換列了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
  49. this.test.colAdd(); 
  50. this.test.addCol(ocrWordInfo); 
  51. return
  52. // 執(zhí)行到這說明沒覆蓋 
  53. this.test.addCol(ocrWordInfo); 

3.4.3 解析行數(shù)據(jù)技巧

技巧總結(jié):

1、俄羅斯方塊法提供去除干擾項的參數(shù),可以根據(jù)圖片特點,去除上下左右干擾數(shù)據(jù)來減少串行列現(xiàn)象。

2、解析數(shù)據(jù)大致有兩種方法:

  • 根據(jù)標題列號來判斷數(shù)據(jù),這種方法不通用,簡單、規(guī)范的圖片識別率高,但是無法適配亂的圖。
  • 把每一行數(shù)據(jù)以間隔符號分割拼到一起,使用正則表達式來‘扣’數(shù)據(jù),因為一般同類型訂單圖片,關鍵字段的位置是有特點的,例如金額格式、借貸方向、日期等,這種方法通用,但識別率不高。

     *具體使用哪種方法,還需要根據(jù)圖片特點進行取舍。

3、 俄羅斯方塊法提供一些微調(diào)參數(shù),用于適配一些特殊場景,例如換行列閥值之類的。

4、中間需要保存一些過程圖片,例如矯正過程的若干張圖、俄羅斯方塊法識別結(jié)果的連線圖等,畢竟這種項目,查問題時靠日志是沒用的,還得靠這些中間圖才能更快查到問題。

四、總結(jié)

本文提到的方案不能完全解決所有訂單類圖片解析問題,但可以做到新手快速入門快速開發(fā),如果您有更好思路歡迎交流。

【本文是51CTO專欄機構(gòu)宜信技術學院的原創(chuàng)文章,微信公眾號“宜信技術學院( id: CE_TECH)”】

戳這里,看該作者更多好文

 

責任編輯:張燕妮 來源: 宜信技術學院
相關推薦

2013-03-07 09:21:58

Webkit

2024-12-25 13:32:51

小程序

2025-01-10 14:33:09

小程序

2017-09-30 16:06:28

代碼注解分析

2020-11-23 10:48:39

Golang GinW

2009-06-01 15:32:30

EclipseJPA入門

2012-05-30 15:15:42

ibmdw

2024-08-27 09:09:49

Web系統(tǒng)JSP

2011-11-08 10:36:42

Java

2022-01-18 08:12:02

Markdown編輯器拍云

2011-05-19 18:01:56

JAVA

2023-08-09 15:09:26

端云一體化云端開發(fā)

2023-08-07 13:29:49

開發(fā)鴻蒙

2020-09-04 15:38:19

Web前端開發(fā)項目

2009-06-16 11:30:00

Java抽象類Java接口

2009-06-14 21:31:29

Java抽象類Java接口

2011-12-22 10:48:21

Java

2010-01-14 14:49:22

應用交換技術

2015-10-29 15:36:19

Redis入門

2020-04-15 08:33:43

Netty網(wǎng)絡通信
點贊
收藏

51CTO技術棧公眾號

亚洲一区欧美二区| 久久久久97| 一区二区三区四区激情| 国产精品加勒比| 欧美超碰在线观看| 夜间精品视频| 日韩精品免费看| 欧美女同在线观看| aa国产成人| 国产精品高潮呻吟| 精品一区二区视频| 99在线无码精品入口| 亚洲男女自偷自拍| 久热精品视频在线观看一区| 女人被狂躁c到高潮| 四虎地址8848精品| 图片区日韩欧美亚洲| 在线观看福利一区| 婷婷国产在线| 韩国av一区二区三区在线观看| 97视频免费在线观看| 日韩在线一卡二卡| 欧美日韩亚洲在线观看| 亚洲精品一区二区三区四区高清| 污色网站在线观看| 最近高清中文在线字幕在线观看1| 亚洲视频中文字幕| 日韩av电影免费播放| 蜜臀av午夜精品| 极品少妇xxxx精品少妇偷拍| 国产成人在线亚洲欧美| 国产乱码久久久久久| 久久久久久久久久久久久久久久久久| 亚洲精品在线看| 日本精品一二三| 亚洲精品第一| 欧美日韩亚洲国产综合| 欧美日韩亚洲第一| 成年男女免费视频网站不卡| 樱桃视频在线观看一区| 亚洲一区二区三区乱码| 极品白浆推特女神在线观看| 99久久99久久综合| 成人永久免费| 性一交一乱一精一晶| 开心九九激情九九欧美日韩精美视频电影 | 国产精品嫩草影院桃色| 日韩中文字幕一区二区三区| 91高清视频免费观看| 日本一区二区不卡在线| 好吊一区二区三区| 欧美激情视频网站| 久久成人国产精品入口| 欧美精品一区二区三区久久久竹菊| 色噜噜狠狠狠综合曰曰曰88av| 亚洲日本精品视频| 国内成人精品| 在线观看欧美www| 日日操免费视频| 欧美mv日韩| xvideos亚洲| 麻豆视频在线免费看| 久久久久国产精品| 色综合男人天堂| 久久久久无码精品国产| 激情丁香综合| 午夜精品久久久久久久久久久久久| 久久精品国产亚洲AV无码麻豆| 国语自产精品视频在线看8查询8| 欧美极品第一页| 日韩欧美大片在线观看| 性色av一区二区怡红| 国产成人一区二| 一区二区三区www污污污网站| 精品一区中文字幕| 成人在线观看av| 深夜影院在线观看| 日本一区二区免费在线观看视频| 亚洲一区三区电影在线观看| 高h视频在线观看| 亚洲午夜一二三区视频| 北条麻妃69av| 国产亚洲欧美日韩精品一区二区三区| 69久久99精品久久久久婷婷| 亚洲无人区码一码二码三码| 妖精视频一区二区三区| 最近2019中文字幕在线高清| 欧美人妻一区二区| 久久激情一区| 成人乱人伦精品视频在线观看| www.色视频| 久久精品亚洲一区二区三区浴池| 在线免费观看成人| 成人黄色动漫| 欧美日韩国产综合久久| 日本精品一二三区| 欧美少妇性xxxx| 欧美激情精品久久久久久大尺度 | 战狼4完整免费观看在线播放版| 国产精品久久久久一区二区三区厕所 | 欧美亚一区二区三区| 日韩精品第一区| 国内外成人免费激情在线视频| 极品国产91在线网站| 国产在线观看一区二区| 欧美少妇一区| 欧美人与禽性xxxxx杂性| 91官网在线观看| www.四虎在线| 国产精品不卡| 国产97色在线| 黄色小视频免费观看| 国产精品久久久久久久久免费丝袜| 国产av熟女一区二区三区| 成人做爰免费视频免费看| 亚洲成人国产精品| 小泽玛利亚一区二区免费| 天堂成人免费av电影一区| www 成人av com| 色网站在线看| 色哟哟日韩精品| 91精品啪在线观看国产| 亚洲色图88| 国产精品九九九| 五月色婷婷综合| 一区二区三区中文字幕电影| 欧美一级特黄a| 亚洲成在人线免费观看| 久久久这里只有精品视频| 国产麻豆一精品一男同| 国产精品五月天| 最近免费中文字幕中文高清百度| 欧亚精品一区| 97成人在线视频| 动漫av一区二区三区| 亚洲精品国产成人久久av盗摄 | 国产乱子伦一区二区三区国色天香| 日本精品一区| 性欧美18~19sex高清播放| 欧美电影免费提供在线观看| 97在线观看免费高| 精品在线播放午夜| 在线视频欧美一区| 四虎影视成人精品国库在线观看| 中文字幕一区电影| 亚洲午夜精品久久久| 国产女同性恋一区二区| 青青在线免费观看视频| 国产精品入口久久| 国产成人精品日本亚洲| 久久精品蜜桃| 欧美系列日韩一区| a级黄色免费视频| 蜜臀av国产精品久久久久| 日本一区二区在线视频| 国产精品原创视频| www.欧美精品一二三区| 国产露脸国语对白在线| 亚洲综合视频网| 特级特黄刘亦菲aaa级| 91久久夜色精品国产九色| 国产精品久久亚洲7777| 蜜桃视频www网站在线观看| 日韩电影免费观看中文字幕| 无码人妻精品一区二区三区9厂| 久久久久亚洲综合| 国产又大又黄又猛| 色呦呦视频在线| 中文字幕综合| 日韩中文字幕免费| www.国产麻豆| 欧美日韩午夜视频在线观看| 日韩av在线看免费观看| 日本三级亚洲精品| 香蕉精品视频在线| 第一区第二区在线| 国产成人精品一区二区三区| 日本三级在线视频| 日韩精品一区二区三区蜜臀| 一级黄色免费网站| 中文字幕电影一区| 人妻精油按摩bd高清中文字幕| 亚洲黄色大片| 亚洲高清在线观看一区| 日本精品视频| 日产精品99久久久久久| 欧美96在线| 亚洲国产成人在线视频| 日韩 国产 欧美| 亚洲男同1069视频| 中文字字幕码一二三区| 精品在线播放午夜| 国产精品免费入口| 亚洲精品a级片| 久久久一本精品99久久精品66| 欧美日韩破处视频| 97人人做人人爱| 1024视频在线| 亚洲国产三级网| 一级aaaa毛片| 亚洲777理论| 任我爽在线视频| 91丨porny丨最新| 初高中福利视频网站| 日韩福利视频网| 欧美视频在线观看视频| 日韩一区二区在线| 精品欧美日韩| 精品久久国产一区| 国产精品av在线播放| 成人在线免费观看黄色| 日韩一区二区av| 亚欧在线观看视频| 欧美一级高清片| 日本成人一级片| 天天综合日日夜夜精品| 国产大片免费看| 国产日韩在线不卡| 国产精品一区二区无码对白| 久久99精品久久久久久动态图| av之家在线观看| 欧美激情无毛| 久久久久亚洲av无码专区喷水| 久久综合色占| 久久久久久久久四区三区| 日韩精品成人| 91影视免费在线观看| 激情中国色综合| 国产精品第二页| 一区二区电影免费观看| 97在线观看免费| 超碰在线中文字幕| 欧美日韩国产成人高清视频| 日本美女在线中文版| 国产一区二区三区欧美| 欧美色图另类| 亚洲美女久久久| 午夜国产在线观看| 亚洲国内高清视频| 色哟哟中文字幕| 日韩不卡中文字幕| 五月婷婷免费视频| 亚洲国产小视频在线观看| 日本黄色三级视频| 精品999在线播放| 欧美一区二区三区成人片在线| 日韩免费性生活视频播放| 精品久久久中文字幕人妻| 欧美一级免费观看| 亚洲免费成人在线| 亚洲精品一区二区三区精华液| 丰满少妇被猛烈进入| 欧美mv日韩mv| 香蕉视频免费看| 亚洲性视频网址| 99视频在线观看地址| 久久精品99无色码中文字幕| www免费在线观看| 欧美精品18videosex性欧美| 欧美14一18处毛片| 91av国产在线| 激情开心成人网| 国产欧美在线看| 国产精品国产亚洲精品| 99高清视频有精品视频| 国产精品自在| 欧美日韩一区在线观看视频| 欧美精品系列| 国产欧美综合一区| 亚洲人成免费| 99久久国产宗和精品1上映| 日本欧美一区二区三区乱码| 性欧美在线视频| 高清国产一区二区| 国产熟妇搡bbbb搡bbbb| 中文字幕中文乱码欧美一区二区| 91精品国产高清一区二区三蜜臀| 亚洲成人自拍一区| 天天爱天天做天天爽| 911精品国产一区二区在线| 亚洲乱码国产乱码精品精软件| 亚洲国产精品小视频| 黄色视屏网站在线免费观看| 久久九九亚洲综合| av资源在线播放| 国产日韩亚洲欧美| 国产欧美三级电影| 少妇免费毛片久久久久久久久 | 亚洲精品一区三区三区在线观看| 成人午夜激情免费视频| 噜噜噜天天躁狠狠躁夜夜精品| 亚洲国产成人不卡| 亚洲精品影视| 五月婷婷之婷婷| 成人av资源站| 九九热视频在线免费观看| 婷婷开心久久网| 国产精品视频一二区| 日韩成人在线视频观看| 日本在线人成| 欧美一区二区色| 美女精品视频在线| 日韩欧美视频一区二区三区四区| 女人香蕉久久**毛片精品| 免费在线观看的av网站| 国产91精品入口| 国产精品1区2区3区4区| 欧美视频中文在线看| 99热这里只有精品1| 亚洲欧美一区二区三区四区| 日韩精品卡一| 91精品久久久久久久久不口人| 色88888久久久久久影院| 久久久无码中文字幕久...| 日韩一区精品字幕| 大乳护士喂奶hd| 一区二区三区中文字幕电影| 中文字幕日韩三级| 亚洲欧美精品一区二区| xxx.xxx欧美| 亚洲a一级视频| 日韩伦理视频| www黄色在线| 91丝袜美腿高跟国产极品老师| 久久久久久久中文字幕| 欧美一区二区美女| 精产国品自在线www| 国产精品久久久久久久久久久不卡| 国产伦精品一区二区三区免费优势| 亚洲自拍偷拍一区二区三区| 青青草国产精品97视觉盛宴| 久久久久久久久久久久| 欧美日韩中文字幕综合视频| 少妇一级淫片免费看| 欧美大片在线影院| 日本成人精品| 日本老太婆做爰视频| 精品一区二区免费视频| 日韩欧美视频免费观看| 欧美亚洲国产一区二区三区va | 欧美久久精品午夜青青大伊人| 岛国精品在线| 中文字幕99| 国产呦萝稀缺另类资源| 午夜爽爽爽男女免费观看| 欧美精品一二三四| 黄色精品免费看| 亚洲一区二区在线| 中国成人一区| 无码人妻一区二区三区在线| 亚洲一二三区不卡| 日韩中文字幕综合| 午夜精品理论片| 人人网欧美视频| 国产又大又硬又粗| 国产嫩草影院久久久久| 波多野结衣激情视频| 这里只有精品久久| 精品国产亚洲一区二区在线观看 | 亚洲一二三精品| 欧美三级电影在线看| 免费的黄网站在线观看| 97久草视频| 亚洲久色影视| 无码一区二区三区在线| 欧美日韩日本视频| 哥也色在线视频| 国产精品成人一区二区三区| 国产一区二区三区久久久久久久久| 91视频啊啊啊| 欧美视频在线一区| av网址在线播放| 国偷自产av一区二区三区小尤奈| 国产精品久久久久9999高清| 久久久久亚洲av无码a片| 欧美精品免费视频| 福利视频在线| 久久一区二区精品| 久久精品国产网站| 精品亚洲永久免费| 亚洲性av网站| 久久综合给合| 日韩精品一区二区三区久久| 欧美国产精品一区二区三区| 99精品国产99久久久久久97| 91精品国产91久久久久久不卡 | 99精品国产视频| 中文在线字幕免费观| 欧美日本国产在线| 国产一区二区三区91| 毛片毛片毛片毛片毛| 欧美日韩国产在线| 超碰在线观看免费| 欧美不卡在线一区二区三区| 国产在线精品免费| 一级黄色av片| 欧美韩日一区二区| 日本一二区不卡| 变态另类丨国产精品| 91精品国产入口在线|