午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > 基于python定位棋子位置及識別棋子顏色

基于python定位棋子位置及識別棋子顏色

熱門標簽:宿州電話機器人哪家好 無錫智能外呼系統好用嗎 百應電話機器人總部 電梯新時達系統外呼顯示e 南昌地圖標注 西青語音電銷機器人哪家好 地圖標注與注銷 成都呼叫中心外呼系統哪家強 旅游廁所地圖標注怎么弄

這一篇主要實現定位棋子位置及識別棋子顏色。

圍棋棋盤原圖如下:


經過上一章節處理,已經將棋盤位置找到,如下圖:


現在根據新圖,進行棋子位置的定位

1、將棋盤分割成19x19的小方格

為了定位出棋盤每個交叉點上,是否有棋子,需要將棋盤分割成19X19的小方格,由于圍棋棋盤每個交叉線直接距離相同,是矩形,因此分割成小方格十分容易,如下圖:


若想將棋盤分割成19x19的小方格,需要知道以下幾個參數。

small_length=38  #每個小格寬高
qizi_zhijing=38#棋子直徑
zuoshangjiao=20#棋盤四周的寬度

這些可以使用imagewathch(VS下opencv的插件)工具,方便的知道,這個工具可以實時查看圖像的寬高,某個位置的像素值。這個工具的使用可以看我另外一篇文章:opencv用VS2013調試時用Image Watch插件查看圖片,代替一堆數據,直觀很多。
下面是將原圖分割成19X19小方格的代碼

img = cv2.imread("src.jpg")
cv2.imshow("src",img)
#變量定義
small_length=38  #每個小格寬高
qizi_zhijing=38#棋子直徑
zuoshangjiao=20#棋盤四周的寬度

for i in range(19):
    for j in range(19):
        #print(i,j)
        lie = i
        hang = j
        Tp_x = small_length * lie
        Tp_y = small_length * hang
        Tp_width = qizi_zhijing
        Tp_height = qizi_zhijing

        #測試用
        cv2.rectangle(img, (Tp_x, Tp_y), (Tp_x + Tp_width, Tp_y + Tp_height),(255, 0, 0), 2)
        cv2.imwrite('img.jpg', img)
        img_temp=img[Tp_y:Tp_y+Tp_height, Tp_x:Tp_x+Tp_width]#參數含義分別是:y、y+h、x、x+w
        cv2.imwrite('img_temp3.jpg', img_temp)
        cv2.imshow("3", img_temp)
        cv2.waitKey(20)

2、根據像素占比識別是否是黑色棋子




上面三種圖像是我們分割成小方格后的三種主要形態,分別代表黑色棋子,白色棋子以及無棋子。其中黑色棋子最好查找,我們將圖像進行灰度化——二值化后,通過統計黑色像素占比超過一定數值,就能知道該處是否有黑色棋子。

這里我將統計黑色占比的代碼,封裝成了一個函數,如下;

"""  "*******************************************************************************************
*函數功能 :統計二值化圖片黑色像素點百分比
*輸入參數 :輸入裁剪后圖像,
*返 回 值 :返回黑色像素點占比0-1之間
*編寫時間 : 2021.6.30
*作    者 : diyun
********************************************************************************************"""
def Heise_zhanbi(img):
    [height, width, tongdao] = img.shape
    #print(width, height, tongdao)
    # cv2.imshow("3", img)
    # cv2.waitKey(20)
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    # cv2.imshow("binary", gray)
    # cv2.waitKey(100)

    etVal, threshold = cv2.threshold(gray, 125, 255, cv2.THRESH_BINARY)
    # cv2.imshow("threshold", threshold)
    # cv2.waitKey(200)
    a = 0
    b = 0
    counter = 0#;/*目標像素點個數*/
    zhanbi = 0#;/*目標像素點比值*/
    for row in range(height):
        for col in range(width):
            val = threshold[row][col]
            if (val) == 0:#黑色
                a = a + 1
            else:
                b = b + 1
    zhanbi = (float)(a) / (float)(height*width)
    #print("黑色像素個數", a, "黑色像素占比", zhanbi)
    return zhanbi

3、根據像素占比識別是否是白色棋子

同樣的,我們可以統計像素中白色占比,來進行識別該位置是否是白色棋子,但是這里需要注意一個問題,如果按照上面黑色棋子識別方法進行灰度化、二值化會造成白色棋子和無棋子分辨不了,二者都有大面積的白色,因此這里需要調整二值化的閾值,分開無棋子和白色棋子的圖像。

封裝好的代碼如下:

"""  "*******************************************************************************************
*函數功能 :統計二值化圖片白色像素點百分比
*輸入參數 :輸入裁剪后圖像,
*返 回 值 :返回白色像素點占比0-1之間
*編寫時間 : 2021.6.30
*作    者 : diyun
********************************************************************************************"""
def Baise_zhanbi(img):
    [height, width, tongdao] = img.shape
    #print(width, height, tongdao)
    # cv2.imshow("3", img)
    # cv2.waitKey(20)
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    # cv2.imshow("binary", gray)
    # cv2.waitKey(100)

    etVal, threshold = cv2.threshold(gray, 235, 255, cv2.THRESH_BINARY)
    # cv2.imshow("threshold", threshold)
    # cv2.waitKey(200)
    a = 0
    b = 0
    counter = 0#;/*目標像素點個數*/
    zhanbi = 0#;/*目標像素點比值*/
    for row in range(height):
        for col in range(width):
            val = threshold[row][col]
            if (val) == 0:#黑色
                a = a + 1
            else:
                b = b + 1
    zhanbi = (float)(b) / (float)(height*width)
    #print("白色像素個數", b, "白色像素占比", zhanbi)
    return zhanbi

效果圖如下:

4、將棋盤棋子位置通過列表表示

我們新建一個19*19的列表來存儲棋子,列表中:

0:代表無棋子
1:代表白色
2:代表黑色

代碼如下:

list = [[0 for i in range(19)] for j in range(19)]

當為黑色棋子時:

list[hang][lie]=2#黑色
#print("當前棋子為黑色")
print("第", i, "行,第", j, "列棋子為黑色:", i, j)

當為白色棋子時:

list[hang][lie] = 1  # 白色
#print("當前棋子為白色")
print("第", i, "行,第", j, "列棋子為白色:", i, j)

效果圖如下:

完整代碼如下:

from PIL import ImageGrab
import numpy as np
import cv2
from glob import glob
import os

import time


#Python將數字轉換成大寫字母
def getChar(number):
    factor, moder = divmod(number, 26) # 26 字母個數
    modChar = chr(moder + 65)          # 65 -> 'A'
    if factor != 0:
        modChar = getChar(factor-1) + modChar # factor - 1 : 商為有效值時起始數為 1 而余數是 0
    return modChar
def getChars(length):
    return [getChar(index) for index in range(length)]



"""  "*******************************************************************************************
*函數功能 :統計二值化圖片黑色像素點百分比
*輸入參數 :輸入裁剪后圖像,
*返 回 值 :返回黑色像素點占比0-1之間
*編寫時間 : 2021.6.30
*作    者 : diyun
********************************************************************************************"""
def Heise_zhanbi(img):
    [height, width, tongdao] = img.shape
    #print(width, height, tongdao)
    # cv2.imshow("3", img)
    # cv2.waitKey(20)
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    # cv2.imshow("binary", gray)
    # cv2.waitKey(100)

    etVal, threshold = cv2.threshold(gray, 125, 255, cv2.THRESH_BINARY)
    # cv2.imshow("threshold", threshold)
    # cv2.waitKey(200)
    a = 0
    b = 0
    counter = 0#;/*目標像素點個數*/
    zhanbi = 0#;/*目標像素點比值*/
    for row in range(height):
        for col in range(width):
            val = threshold[row][col]
            if (val) == 0:#黑色
                a = a + 1
            else:
                b = b + 1
    zhanbi = (float)(a) / (float)(height*width)
    #print("黑色像素個數", a, "黑色像素占比", zhanbi)
    return zhanbi


"""  "*******************************************************************************************
*函數功能 :統計二值化圖片白色像素點百分比
*輸入參數 :輸入裁剪后圖像,
*返 回 值 :返回白色像素點占比0-1之間
*編寫時間 : 2021.6.30
*作    者 : diyun
********************************************************************************************"""
def Baise_zhanbi(img):
    [height, width, tongdao] = img.shape
    #print(width, height, tongdao)
    # cv2.imshow("3", img)
    # cv2.waitKey(20)
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    # cv2.imshow("binary", gray)
    # cv2.waitKey(100)

    etVal, threshold = cv2.threshold(gray, 235, 255, cv2.THRESH_BINARY)
    # cv2.imshow("threshold", threshold)
    # cv2.waitKey(200)
    a = 0
    b = 0
    counter = 0#;/*目標像素點個數*/
    zhanbi = 0#;/*目標像素點比值*/
    for row in range(height):
        for col in range(width):
            val = threshold[row][col]
            if (val) == 0:#黑色
                a = a + 1
            else:
                b = b + 1
    zhanbi = (float)(b) / (float)(height*width)
    #print("白色像素個數", b, "白色像素占比", zhanbi)
    return zhanbi

"""  "*******************************************************************************************
*函數功能 :定位棋盤位置
*輸入參數 :截圖
*返 回 值 :裁剪后的圖像
*編寫時間 : 2021.6.30
*作    者 : diyun
********************************************************************************************"""
def dingweiqizi_weizhi(img):
    '''********************************************
    1、定位棋盤位置
    ********************************************'''
    #img = cv2.imread("./screen/1.jpg")

    image = img.copy()
    w, h, c = img.shape
    img2 = np.zeros((w, h, c), np.uint8)
    img3 = np.zeros((w, h, c), np.uint8)
    # img = ImageGrab.grab() #bbox specifies specific region (bbox= x,y,width,height *starts top-left)

    hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
    lower = np.array([10, 0, 0])
    upper = np.array([40, 255, 255])
    mask = cv2.inRange(hsv, lower, upper)
    erodeim = cv2.erode(mask, None, iterations=2)  # 腐蝕
    dilateim = cv2.dilate(erodeim, None, iterations=2)

    img = cv2.bitwise_and(img, img, mask=dilateim)
    frame = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    ret, dst = cv2.threshold(frame, 100, 255, cv2.THRESH_BINARY)
    contours, hierarchy = cv2.findContours(dst, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)



    #cv2.imshow("0", img)

    i = 0
    maxarea = 0
    nextarea = 0
    maxint = 0
    for c in contours:
        if cv2.contourArea(c) > maxarea:
            maxarea = cv2.contourArea(c)
            maxint = i
        i += 1

    # 多邊形擬合
    epsilon = 0.02 * cv2.arcLength(contours[maxint], True)
    if epsilon  1:
        print("error :   epsilon  1")
        pass

    # 多邊形擬合
    approx = cv2.approxPolyDP(contours[maxint], epsilon, True)
    [[x1, y1]] = approx[0]
    [[x2, y2]] = approx[2]

    checkerboard = image[y1:y2, x1:x2]
    # cv2.imshow("1", checkerboard)
    # cv2.waitKey(1000)
    #cv2.destroyAllWindows()
    return checkerboard

"""  "*******************************************************************************************
*函數功能 :定位棋子顏色及位置
*輸入參數 :裁剪后的圖像
*返 回 值 :棋子顏色及位置列表
*編寫時間 : 2021.6.30
*作    者 : diyun
********************************************************************************************"""
def dingweiqizi_yanse_weizhi(img):
    '''********************************************
    2、識別棋盤棋子位置及顏色及序號;
    ********************************************'''
    #img = cv2.imread("./checkerboard/checkerboard_1.jpg")
    img = cv2.resize(img, (724,724), interpolation=cv2.INTER_AREA)
    #cv2.imshow("src",img)
    #cv2.waitKey(1000)

    #變量定義
    small_length=38  #每個小格寬高
    qizi_zhijing=38#棋子直徑
    zuoshangjiao=20#棋盤四周的寬度

    list = [[0 for i in range(19)] for j in range(19)]
    #print(list)

    for i in range(19):
        for j in range(19):

            lie = i
            hang = j

            Tp_x = small_length * lie
            Tp_y = small_length * hang
            Tp_width = qizi_zhijing
            Tp_height = qizi_zhijing

            img_temp=img[Tp_y:Tp_y+Tp_height, Tp_x:Tp_x+Tp_width]#參數含義分別是:y、y+h、x、x+w

            heise_zhanbi=Heise_zhanbi(img_temp)
            if heise_zhanbi>0.5:
                list[hang][lie]=2#黑色
                print("第", j+1, "行,第", i+1, "列棋子為黑色")
                #print("當前棋子為黑色")
            else:
                baise_zhanbi = Baise_zhanbi(img_temp)
                if baise_zhanbi > 0.15:
                    list[hang][lie] = 1  # 白色
                    print("第", j+1, "行,第",i+1 , "列棋子為白色")
                    #print("當前棋子為白色")
                else:
                    list[hang][lie] = 0  # 無棋子
                    #print("當前位置沒有棋子")
            #print(heise_zhanbi)
    #cv2.imshow("2",img)
    #print("\n")
    #print(list)
    return  list



if __name__ =="__main__":
    list0 = [[0 for i in range(19)] for j in range(19)]
    list_finall = []
    img = cv2.imread("./screen/9.jpg")

    '''********************************************
    1、定位棋盤位置
    ********************************************'''
    img_after=dingweiqizi_weizhi(img)
    #cv2.imshow("src",img)

    '''********************************************
    2、識別棋盤棋子位置及顏色及序號;
    ********************************************'''
    list1=dingweiqizi_yanse_weizhi(img_after)
    print(list1)

到此這篇關于基于python定位棋子位置及識別棋子顏色的文章就介紹到這了,更多相關python定位棋子位置及識別棋子顏色內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python識別圍棋定位棋盤位置

標簽:雅安 西安 贛州 渭南 辛集 七臺河 濰坊 許昌

巨人網絡通訊聲明:本文標題《基于python定位棋子位置及識別棋子顏色》,本文關鍵詞  基于,python,定位,棋子,位置,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《基于python定位棋子位置及識別棋子顏色》相關的同類信息!
  • 本頁收集關于基于python定位棋子位置及識別棋子顏色的相關信息資訊供網民參考!
  • 推薦文章
    成人区一区二区| 日韩三级电影免费观看| 91久久久免费一区二区| 天堂av资源网| 日本精品一二三区| 精品人伦一区二区三区| 亚洲精品日韩欧美| 欧美激情在线一区二区三区| 久久人妻免费视频| 色婷婷.com| 91中文字幕在线观看| 欧美一区二区观看视频| 成人免费毛片a| 日本系列第一页| 欧在线一二三四区| 成人www视频在线观看| 日韩欧美国产综合在线一区二区三区| 国产91精品一区二区| 欧美日韩三级在线观看| 国产精品沙发午睡系列| 国产成人精品亚洲精品| 日韩视频在线永久播放| 337p粉嫩大胆色噜噜噜噜亚洲| 丰满人妻老熟妇伦人精品| 一区二区在线播放视频| 91色视频在线观看| 亚洲精品永久免费精品| 亚洲特黄一级片| 亚洲国产精品国自产拍久久| 97伦伦午夜电影理伦片| 亚洲色婷婷久久精品av蜜桃| 欧美在线视频播放| 91精品久久久久久蜜臀| 91网站最新网址| 亚洲一区二区三区高清视频| 免费a在线观看播放| 永久域名在线精品| 51色欧美片视频在线观看| 69久久夜色精品国产69蝌蚪网 | 国产精品亚洲视频| 色一情一乱一伦| 青娱乐精品在线| 亚洲精品8mav| 国产成人拍精品视频午夜网站| 欧美成人精品1314www| 国产婷婷一区二区| 亚洲图片欧美在线| a资源在线观看| 欧美亚洲一二三区| 国产乱码一区| 久久99视频精品| 911精品国产一区二区在线| 91在线视频免费观看| 国产精品毛片一区二区在线看舒淇| 无码人妻aⅴ一区二区三区| 好吊色视频988gao在线观看| 国产日韩在线亚洲字幕中文| 在线成人中文字幕| 精品视频1区2区| 国产色综合一区| 香蕉视频国产在线| 日本五十路女优| 51调教丨国产调教视频| 老太脱裤子让老头玩xxxxx| 国产欧美精品一区二区| 久久精品久久精品亚洲人| 欧美日韩中文一区| 中文字幕欧美国产| 久久99精品久久久久| 亚洲无码精品国产| 免费精品在线视频| 欧美日韩一区二区区| 国产精品免费看久久久无码| 999在线免费观看视频| 九色成人免费视频| 精品久久一区二区| 天天色综合成人网| 久久先锋影音av| 久久精品国产99久久6| 中文字幕 视频一区| 久久视频一区二区三区| 久久国产激情视频| 日韩成人三级视频| 国产精品久久久久久免费观看 | 日本黄色片一级片| 麻豆91av| 成人性生交大片免费看视频直播| 色综合天天综合网国产成人网| 精品99一区二区三区| 91久久线看在观草草青青 | 久久99久久亚洲国产| 欧美精品一区二区蜜臀亚洲| 色综合久久久久网| 亚洲欧美另类小说| 国产成人精品一区二区三区四区 | 亚洲 另类 春色 国产| 国产污污视频在线观看| 纪美影视在线观看电视版使用方法| 最新免费av网址| wwwjizzjizzcom| 国内精品**久久毛片app| 国产精品成人一区二区| 久久综合伊人77777| 亚洲欧美综合精品久久成人| 91精品国产综合久久精品性色| 一区二区三区精品| 久久久www免费人成精品| 久久se精品一区精品二区| 精品人妻一区二区三区换脸明星| 中文字幕第四页| 好吊色视频在线观看| 欧美一区二区免费在线观看| 国产3p在线播放| 农村妇女精品一二区| 日产精品久久久久久久蜜臀| 日本一区视频在线播放| 国产在线一区二区三区欧美| 国产日韩欧美综合| 国产成人精彩在线视频九色| 久久噜噜噜精品国产亚洲综合 | 欧美日韩成人综合在线一区二区| 欧美日韩精品在线| 亚洲最大色网站| 亚洲视频精选在线| 国产精品欧美综合在线| 久久久久久久久久看片| 成人黄色网址在线观看| 久久福利资源站| 日本不卡视频在线| 色偷偷在线观看| 亚洲伦理在线观看| 99久久国产免费| 国产美女永久免费| 在线免费看av片| 中文字幕欧美色图| 懂色av蜜臀av粉嫩av喷吹| 免费无码国产精品| 日韩在线 中文字幕| www.日韩一区| aaa在线视频| 国产午夜无码视频在线观看| 神马久久久久久久| 国产美女www爽爽爽| 国产成人精品777777| 在线观看日本视频| 伊人久久中文字幕| 国产乱淫av片免费| а√天堂资源在线| 日日躁夜夜躁白天躁晚上躁91| 精品久久人妻av中文字幕| 日本黄色免费视频| 久久精品国产清高在天天线| 日本美女一区二区三区| 久久成人久久鬼色| 成人性生交大片免费| av中文字幕一区| 久久婷婷成人综合色| 国产欧美va欧美不卡在线| 久久综合丝袜日本网| 久久久久久亚洲综合| 欧美国产日本视频| 成人欧美一区二区三区| 亚洲综合色丁香婷婷六月图片| 无码av中文一区二区三区桃花岛| 欧美日韩综合视频网址| 555www色欧美视频| 亚洲第一区在线| 国产一区二区三区久久精品| 久久亚洲影音av资源网| 欧美在线影院在线视频| 国产精品成人va在线观看| 91精品久久久久久蜜桃| 欧美人xxxxx| 91精品一区二区三区四区| 成熟丰满熟妇高潮xxxxx视频| 韩国一区二区av| 久久6免费视频| 国产艳俗歌舞表演hd| 成人一级黄色大片| 欧美亚洲另类小说| a级片免费视频| 毛片av中文字幕一区二区| 岛国一区二区在线观看| 国产精品乱码一区二区三区软件 | 久久青青草原亚洲av无码麻豆| 亚洲视频一区在线播放| 日韩不卡一二三区| 波多野洁衣一区| 亚洲免费观看高清| 欧美在线观看视频一区二区| 日韩成人在线视频观看| 久久躁狠狠躁夜夜爽| 国产精品女主播视频| 国产区一区二区三区| 欧美另类videosbestsex日本| 亚洲狼人综合干| 在线免费观看成年人视频| 黄色一级免费视频| 国产三级第一页| 奇米影视在线99精品| 久久久久久久综合日本| 亚洲一区二区三区中文字幕 | 色呦呦中文字幕| 国产精品1024久久| 亚洲日本va在线观看| 欧美日韩高清在线| 色老头一区二区三区在线观看| 全球成人中文在线| 欧美日韩一区在线观看视频| 九九爱精品视频| 麻豆精品国产传媒av| 久久久一区二区三区四区| 国产小视频一区| 岛国av在线一区| 五月天丁香久久| 亚洲精品久久久久久久久久久久| 97在线视频一区| 国产精品日韩欧美一区二区三区| 欧美无砖专区免费| 久久久久亚洲av无码网站| 久久黄色免费视频| 欧美一级特黄aaaaaa| 91老师国产黑色丝袜在线| 欧美日韩免费在线观看| 亚洲人成网站777色婷婷| 国产不卡在线观看| 制服诱惑一区| 少妇性l交大片7724com| xxxx.国产| 日本视频免费一区| 亚洲人一二三区| 精品日韩av一区二区| 91精品91久久久久久| 日本一区视频在线播放| 午夜视频在线网站| 国产精品16p| 美女一区二区三区在线观看| 久久综合99re88久久爱| 欧美日产在线观看| 亚洲新中文字幕| 91久久精品美女| 国产精品视频网站在线观看 | 综合久久五月天| 91入口在线观看| 波多野结衣家庭教师在线| 久久爱一区二区| 国精产品乱码一区一区三区四区| 亚洲国产精品v| 日韩你懂的电影在线观看| 青青在线视频一区二区三区| 免费国产一区| 在线播放第一页| 午夜毛片在线观看| 韩日av一区二区| 色八戒一区二区三区| 欧美日韩国产999| 亚洲国产精品www| 91福利视频免费观看| 天天天天天天天干| 成人少妇影院yyyy| 欧美福利视频一区| 欧美中文字幕在线| 东北少妇不带套对白| 天天操天天摸天天舔| 久久狠狠婷婷| 亚洲专区一二三| 久久亚洲一区二区三区四区五区高 | 成人福利免费观看| 日韩av综合在线观看| 欧美色图一区二区| 久久国产视频网| 欧洲激情一区二区| 69久久夜色精品国产69| 中国一级大黄大黄大色毛片| 中文字幕av久久爽一区| 日韩精品免费视频人成| 天天综合色天天| 欧美激情视频网址| 性欧美videosex高清少妇| www.四虎精品| 狠狠躁夜夜躁av无码中文幕| 一区二区三区视频在线观看| 久久中文精品视频| 中文字幕99| 亚洲欧美精品aaaaaa片| 老汉av免费一区二区三区| 欧美影视一区在线| 国产精品va在线播放我和闺蜜| 日韩少妇内射免费播放| 国产欧美日韩另类| 99精品欧美一区二区蜜桃免费| 亚洲精品一区在线观看| 精品一区二区三区视频日产| 久久性爱视频网站| 久久免费国产| 欧美日韩激情视频8区| 欧美怡春院一区二区三区| 哪个网站能看毛片| 日本黄色一级视频| 国产欧美一区二区精品婷婷 | av网站大全免费| 九九热视频精品| 不卡免费追剧大全电视剧网站| 日韩成人性视频| 日韩福利二区| 亚洲国产美女视频| 国产在线视频不卡二| 精品日产卡一卡二卡麻豆| 国产久一道中文一区| 中文字幕国产专区| 国产精品影音先锋| 亚洲国产精品人人爽夜夜爽| 日产精品高清视频免费| 免费看一级黄色| 成人午夜碰碰视频| 亚洲男人第一网站| 国内精品国产三级国产99| 91网站免费视频| 国模无码大尺度一区二区三区| 欧美不卡一区二区| 欧美在线视频一区二区三区| 一级黄色片日本| 99精品国产视频| 色一情一乱一区二区| 亚洲精品天堂成人片av在线播放| www欧美在线| 亚洲视频 欧洲视频| 国产97色在线| 粉色视频免费看| 日本精品一区二区在线观看| 欧美精品三级日韩久久| 国语精品免费视频| 国产精品国产精品88| 久久亚洲一区二区三区明星换脸 | 久久久av网站| 自慰无码一区二区三区| 99热这里是精品| 欧美日韩国产首页在线观看| 精品国产免费久久久久久尖叫| 黄色免费一级视频| 久久精品人人做人人爽人人| 欧美疯狂做受xxxx高潮| 少妇激情一区二区三区| 午夜在线观看视频18| 日韩久久免费av| 欧美激情一区二区三区在线视频| 精品无码久久久久成人漫画| 中文字幕欧美日韩一区| 国产不卡在线观看| 色婷婷精品久久二区二区密| av高清久久久| 国产亚洲人成网站在线观看| 成人在线观看毛片| 国产视频一区二区三区四区五区| 欧美三级欧美一级| 日韩精品久久一区二区三区| av大片免费观看| 高跟丝袜一区二区三区| 久久精品国产第一区二区三区最新章节| 亚洲熟女毛茸茸| 亚洲精品免费播放| 国产欧美日韩专区发布| 51妺嘿嘿午夜福利| 成人动漫视频在线| 久久男人的天堂| 亚洲精品鲁一鲁一区二区三区 | 青草热久免费精品视频| 黄色片在线免费| 久久国产精品一区二区| 在线观看视频亚洲| www.99在线| 免费在线观看一区二区三区| 在线播放日韩欧美| 精品亚洲视频在线| 国产美女一区二区| 久久久久亚洲精品| 国产日韩视频一区| 成人一区二区在线观看| 91精品国产91久久久久久久久 | 极品尤物av久久免费看| 久久躁狠狠躁夜夜爽| 亚洲成年人av| 91亚洲精品一区二区乱码| 人体精品一二三区| 999久久久国产| 一区二区三区在线看| 91传媒视频免费| 国产无遮挡免费视频| 91久久精品国产91性色tv| 亚洲一区二区三区色| a天堂视频在线| 亚洲男人的天堂网站| 亚洲久久中文字幕| 懂色av一区二区夜夜嗨| 日本久久亚洲电影| 欧美性生交大片| 亚欧色一区w666天堂| 日韩伦理一区二区三区av在线| 一区二区www| 亚洲精品按摩视频| 性欧美videossex精品| 成人中文字幕合集| 国产精品美女主播| 性生交大片免费全黄| 色哟哟在线观看一区二区三区| 四虎影院一区二区| 日韩一级片免费观看| 日韩视频免费在线观看| 亚洲调教欧美在线| 亚洲品质自拍视频|