成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > Python+Opencv實(shí)現(xiàn)數(shù)字識(shí)別的示例代碼

Python+Opencv實(shí)現(xiàn)數(shù)字識(shí)別的示例代碼

熱門標(biāo)簽:n400電話申請(qǐng)多少錢 ai地圖標(biāo)注 廈門crm外呼系統(tǒng)如何 百應(yīng)ai電銷機(jī)器人鄭州 西藏快速地圖標(biāo)注地點(diǎn) 長(zhǎng)春人工智能電銷機(jī)器人官網(wǎng) 如何在地圖標(biāo)注文字 地圖標(biāo)注推廣單頁(yè) 女王谷地圖標(biāo)注

一、什么是數(shù)字識(shí)別?

  所謂的數(shù)字識(shí)別,就是使用算法自動(dòng)識(shí)別出圖片中的數(shù)字。具體的效果如下圖所示:


上圖展示了算法的處理效果,算法能夠自動(dòng)的識(shí)別到LCD屏幕上面的數(shù)字,這在現(xiàn)實(shí)場(chǎng)景中具有很大的實(shí)際應(yīng)用價(jià)值。下面我們將對(duì)它的實(shí)現(xiàn)細(xì)節(jié)進(jìn)行詳細(xì)解析。

二、如何實(shí)現(xiàn)數(shù)字識(shí)別?

  對(duì)于數(shù)字識(shí)別這個(gè)任務(wù)而言,它并不是一個(gè)新的研究方向,很久之前就有很多的學(xué)者們?cè)陉P(guān)注這個(gè)問(wèn)題,并提出了一些可行的解決方案,本小節(jié)我們將對(duì)這些方案進(jìn)行簡(jiǎn)單的總結(jié)。

方案一:使用現(xiàn)成的OCR技術(shù)。 OCR,即文字識(shí)別,它是一個(gè)比較成熟的技術(shù),當(dāng)前已經(jīng)具有很多性能優(yōu)異的開(kāi)源工具包可以供大家使用,即我們僅僅需要關(guān)注的是如何調(diào)用這些接口即可,如何你想要了解它們的實(shí)現(xiàn)細(xì)節(jié),那么你就需要去詳細(xì)的理解源碼啦。除此之外,當(dāng)前的OCR算法已經(jīng)可以很好的識(shí)別圖像中的簡(jiǎn)單文字和數(shù)字等,當(dāng)前研究的一個(gè)熱點(diǎn)是如何準(zhǔn)確快速的識(shí)別出圖片中的傾斜文本和不同語(yǔ)言的文字等,下圖展示了一個(gè)簡(jiǎn)單的識(shí)別樣例,即識(shí)別筆筒上面的文字。

方案二:使用深度神經(jīng)網(wǎng)絡(luò)。 隨著深度學(xué)習(xí)技術(shù)的快速發(fā)展,神經(jīng)網(wǎng)絡(luò)被引入到計(jì)算機(jī)視覺(jué)當(dāng)中的多個(gè)領(lǐng)域中,對(duì)于數(shù)字識(shí)別這個(gè)簡(jiǎn)單的任務(wù)而言,神經(jīng)網(wǎng)絡(luò)可以獲得準(zhǔn)確的識(shí)別結(jié)果,比較有名的是mnist數(shù)據(jù)集。但是這種方法首先需要用戶收集大量的數(shù)據(jù)集;然后需要進(jìn)行模型訓(xùn)練和參數(shù)調(diào)節(jié);通常需要花費(fèi)較大的人力和物力。

方案三:使用本文的思路,即根據(jù)七段數(shù)碼管的知識(shí)識(shí)別LCD上的數(shù)字。 這種方法適用于識(shí)別LCD屏幕上的數(shù)字,當(dāng)然通過(guò)合理的擴(kuò)展,也可以用來(lái)識(shí)別LCD上面的文字;該算法不僅具有較快的識(shí)別速度,而且可以取得較高的識(shí)別精度。

三、識(shí)別LCD屏幕上面的數(shù)字的原理詳解

  在現(xiàn)實(shí)生活中,我們經(jīng)常會(huì)看到各種各樣的LCD屏幕,小到我們的MP3,大到廣場(chǎng)中的電視等,隨著各種應(yīng)用的不斷出現(xiàn),LCD屏幕頻繁的出現(xiàn)在我們現(xiàn)實(shí)生活中的多個(gè)場(chǎng)景中,而快速、準(zhǔn)確的識(shí)別出LCD上面的數(shù)字就成為了一個(gè)新的剛需,這樣可以極大的節(jié)約人力和物力成本,下面將對(duì)LCD屏幕數(shù)字識(shí)別的原理進(jìn)行說(shuō)明,知其然不許知其所以然。


上圖展示的是一個(gè)七段數(shù)碼管,我們常見(jiàn)的LCD屏幕其實(shí)就是通過(guò)七段數(shù)碼管組合而成的,因而了解它的構(gòu)成至關(guān)重要。通過(guò)上圖我們可以觀察到這個(gè)數(shù)碼管中含有7段,并用0-6分別標(biāo)出,其實(shí)還有一個(gè)小數(shù)點(diǎn)表示8,這些段下面都有相應(yīng)的led燈,當(dāng)我們需要顯示不同的數(shù)字時(shí)只需要點(diǎn)亮不同段的LED燈即可,這個(gè)原理是不是很簡(jiǎn)單!通過(guò)組合不同段,我們可以獲得128種組合(即2的7次方),具體的組合結(jié)果如下圖所示,對(duì)于這128種組合而言,我們只對(duì)其中的0-9這10個(gè)數(shù)字比較感興趣,其它的組合并不是我們關(guān)注的目標(biāo)。



即,我們只對(duì)0-9這10個(gè)數(shù)字的組合比較感興趣,這其實(shí)就是我們常用的數(shù)字,我們可以通過(guò)它們組合成任意一個(gè)數(shù)字!??!通過(guò)上圖我們可以觀察到當(dāng)我們點(diǎn)亮特定段的LED等之后,LCD就能顯示出特定的數(shù)字,那么我們可不可以通過(guò)判斷不同段的特征來(lái)判斷當(dāng)前的數(shù)字呢,這其實(shí)就是本文的實(shí)現(xiàn)思路?。?!

四、算法實(shí)現(xiàn)步驟

  為了完成LCD上面的數(shù)字識(shí)別,我們需要按照如下的步驟進(jìn)行實(shí)現(xiàn)該算法。

  • 步驟1-定位面板上面的LCD的位置。由于LCD屏幕和面板具有較大的亮度差異,我們可以使用邊緣檢測(cè)算法獲得LCD的位置。
  • 步驟2-獲取LCD屏幕。通過(guò)上一步我們可以獲得一個(gè)邊緣map;接著我們需要在這個(gè)邊緣map中尋找輪廓;最后最大的矩形區(qū)域即是我們需要的LCD。
  • 步驟3-定位LCD上面的數(shù)字。在獲取到LCD之后,我們感興趣的是LCD上面的數(shù)字,那么我們就需要對(duì)這些數(shù)字進(jìn)行定位,即輸出它們的位置信息。由于LCD上面的數(shù)字和周圍的區(qū)域之間具有較大的差異,因而使用閾值和形態(tài)學(xué)操作就可以很好的完成這個(gè)任務(wù)。
  • 步驟4-進(jìn)行數(shù)字識(shí)別。在獲取到數(shù)字的位置信息后,我們將使用opencv中內(nèi)置的算法對(duì)這些數(shù)字進(jìn)行識(shí)別,從而獲得我們需要的結(jié)果。

五、算法代碼實(shí)現(xiàn)

# coding=utf-8
# 導(dǎo)入一些python包
from imutils.perspective import four_point_transform
from imutils import contours
import imutils
import cv2

# 定義每一個(gè)數(shù)字對(duì)應(yīng)的字段
DIGITS_LOOKUP = {
	(1, 1, 1, 0, 1, 1, 1): 0,
	(0, 0, 1, 0, 0, 1, 0): 1,
	(1, 0, 1, 1, 1, 1, 0): 2,
	(1, 0, 1, 1, 0, 1, 1): 3,
	(0, 1, 1, 1, 0, 1, 0): 4,
	(1, 1, 0, 1, 0, 1, 1): 5,
	(1, 1, 0, 1, 1, 1, 1): 6,
	(1, 0, 1, 0, 0, 1, 0): 7,
	(1, 1, 1, 1, 1, 1, 1): 8,
	(1, 1, 1, 1, 0, 1, 1): 9
}

# 讀取輸入圖片
image = cv2.imread("example.jpg")

# 將輸入圖片裁剪到固定大小
image = imutils.resize(image, height=500)
# 將輸入轉(zhuǎn)換為灰度圖片
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 進(jìn)行高斯模糊操作
blurred = cv2.GaussianBlur(gray, (5, 5), 0)
# 執(zhí)行邊緣檢測(cè)
edged = cv2.Canny(blurred, 50, 200, 255)
cv2.imwrite('edge.png', edged)

# 在邊緣檢測(cè)map中發(fā)現(xiàn)輪廓
cnts = cv2.findContours(edged.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
cnts = imutils.grab_contours(cnts)
# 根據(jù)大小對(duì)這些輪廓進(jìn)行排序
cnts = sorted(cnts, key=cv2.contourArea, reverse=True)
displayCnt = None

# 循環(huán)遍歷所有的輪廓
for c in cnts:
	# 對(duì)輪廓進(jìn)行近似
	peri = cv2.arcLength(c, True)
	approx = cv2.approxPolyDP(c, 0.02 * peri, True)

	# 如果當(dāng)前的輪廓有4個(gè)頂點(diǎn),我們返回這個(gè)結(jié)果,即LCD所在的位置
	if len(approx) == 4:
		displayCnt = approx
		break

# 應(yīng)用視角變換到LCD屏幕上
warped = four_point_transform(gray, displayCnt.reshape(4, 2))
cv2.imwrite('warped.png', warped)
output = four_point_transform(image, displayCnt.reshape(4, 2))

# 使用閾值進(jìn)行二值化
thresh = cv2.threshold(warped, 0, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)[1]
cv2.imwrite('thresh1.png', thresh)
kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (1, 5))
# 使用形態(tài)學(xué)操作進(jìn)行處理
thresh = cv2.morphologyEx(thresh, cv2.MORPH_OPEN, kernel)
cv2.imwrite('thresh2.png', thresh)

# 在閾值圖像中查找輪廓,然后初始化數(shù)字輪廓列表
cnts = cv2.findContours(thresh.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
cnts = imutils.grab_contours(cnts)
digitCnts = []

# 循環(huán)遍歷所有的候選區(qū)域
for c in cnts:
	# 計(jì)算輪廓的邊界框
	(x, y, w, h) = cv2.boundingRect(c)

	# 如果當(dāng)前的這個(gè)輪廓區(qū)域足夠大,它一定是一個(gè)數(shù)字區(qū)域
	if w >= 15 and (h >= 30 and h = 40):
		digitCnts.append(c)

# 從左到右對(duì)這些輪廓進(jìn)行排序
digitCnts = contours.sort_contours(digitCnts, method="left-to-right")[0]
digits = []

# 循環(huán)處理每一個(gè)數(shù)字
i = 0
for c in digitCnts:
	# 獲取ROI區(qū)域
	(x, y, w, h) = cv2.boundingRect(c)
	roi = thresh[y:y + h, x:x + w]

	# 分別計(jì)算每一段的寬度和高度
	(roiH, roiW) = roi.shape
	(dW, dH) = (int(roiW * 0.25), int(roiH * 0.15))
	dHC = int(roiH * 0.05)

	# 定義一個(gè)7段數(shù)碼管的集合
	segments = [
		((0, 0), (w, dH)),	             # 上
		((0, 0), (dW, h // 2)),           # 左上
		((w - dW, 0), (w, h // 2)),	         # 右上
		((0, (h // 2) - dHC) , (w, (h // 2) + dHC)), # 中間
		((0, h // 2), (dW, h)),	           # 左下
		((w - dW, h // 2), (w, h)),	         # 右下
		((0, h - dH), (w, h))	           # 下
	]
	on = [0] * len(segments)

	# 循環(huán)遍歷數(shù)碼管中的每一段
	for (i, ((xA, yA), (xB, yB))) in enumerate(segments): # 檢測(cè)分割后的ROI區(qū)域,并統(tǒng)計(jì)分割圖中的閾值像素點(diǎn)
		segROI = roi[yA:yB, xA:xB]
		total = cv2.countNonZero(segROI)
		area = (xB - xA) * (yB - yA)

		# 如果非零區(qū)域的個(gè)數(shù)大于整個(gè)區(qū)域的一半,則認(rèn)為該段是亮的
		if total / float(area) > 0.5:
			on[i]= 1

	# 進(jìn)行數(shù)字查詢并顯示結(jié)果
	digit = DIGITS_LOOKUP[tuple(on)]
	digits.append(digit)
	cv2.rectangle(output, (x, y), (x + w, y + h), (0, 255, 0), 1)
	cv2.putText(output, str(digit), (x - 10, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.65, (0, 255, 0), 2)

# 顯示最終的輸出結(jié)果
print(u"{}{}.{} \u00b0C".format(*digits))
cv2.imshow("Input", image)
cv2.imshow("Output", output)
cv2.waitKey(0)

六、效果展示和分析

 上圖展示了該算法的運(yùn)行結(jié)果和一些中間結(jié)果。第1行第1列表示的是原始的輸入圖片,它和代碼中的image對(duì)應(yīng),我們需要識(shí)別的是LCD面板上面的34.5;第1行第2列表示的是Canny邊緣檢測(cè)算法的檢測(cè)結(jié)果,它對(duì)應(yīng)于代碼中的edged,通過(guò)該圖我們可以發(fā)現(xiàn)Canny邊緣檢測(cè)的結(jié)果中含有我們感興趣的目標(biāo),即中間的LCD;第1行第3列表示的是對(duì)輸入的灰度圖片應(yīng)用視角變換后的結(jié)果,即獲得了LCD屏幕所在的位置,它和代碼中的warped相互對(duì)應(yīng);第2行第1列表示的是對(duì)獲取到的LCD屏幕進(jìn)行二值化后的結(jié)果,它和代碼中的thresh 相互對(duì)應(yīng),由于LCD上面的數(shù)字和背景之間具有較大的差異,因而通過(guò)簡(jiǎn)單的二值化我們就可以獲得我們感興趣的目標(biāo)-數(shù)字;第2行第2列表示的是對(duì)二值化結(jié)果進(jìn)行形態(tài)學(xué)操作之后的結(jié)果,它和代碼中的thresh 相互對(duì)應(yīng),我們可以發(fā)現(xiàn)執(zhí)行了形態(tài)學(xué)操作之后的結(jié)果更多平滑,同時(shí)過(guò)濾掉很多的噪聲,有利于后續(xù)的識(shí)別。


  上圖展示了本算法獲取到的LCD屏幕中的數(shù)字,通過(guò)上圖我們可以發(fā)現(xiàn)該算法準(zhǔn)確的獲得了這些數(shù)字的位置信息,有利于后續(xù)的識(shí)別操作。


  上圖展示了算法進(jìn)行數(shù)字識(shí)別的實(shí)現(xiàn)細(xì)節(jié)。即通過(guò)遍歷每一個(gè)數(shù)字中的7個(gè)段,并統(tǒng)計(jì)該段中非零像素的個(gè)數(shù),當(dāng)其統(tǒng)計(jì)值大于整個(gè)區(qū)域的一半時(shí),認(rèn)為該段是亮的,當(dāng)統(tǒng)計(jì)完所有的這7個(gè)段之后,在預(yù)定義的數(shù)字詞典中進(jìn)行查找,并輸出最終的結(jié)果即可。


  上圖展示了算法最終的輸出結(jié)果,我們可以觀察到算法快速、準(zhǔn)確的獲得了我們需要的結(jié)果,滿足了我們的預(yù)期。

七、問(wèn)題擴(kuò)展與延伸

  通過(guò)上面的解析你可能已經(jīng)知道了如何來(lái)很好的解決上面這個(gè)問(wèn)題。細(xì)心的你也許會(huì)發(fā)現(xiàn)上述結(jié)果中輸出的點(diǎn)號(hào)是人為添加上去的,并不是算法自動(dòng)獲取的,而在現(xiàn)實(shí)場(chǎng)景中我們經(jīng)常會(huì)遇到小數(shù)點(diǎn),比如溫度、濕度等,那么我的問(wèn)題來(lái)啦,如何利用算法自動(dòng)獲取圖中的小數(shù)點(diǎn),使得算法最終自動(dòng)輸出34.5的結(jié)果呢,這個(gè)問(wèn)題留給聰明的你進(jìn)行思考吧?。。。ㄆ鋵?shí)數(shù)碼管是有八段的,第八段就是小數(shù)點(diǎn)的?。。。?/p>

參考資料

1、參考鏈接1

到此這篇關(guān)于Python+Opencv實(shí)現(xiàn)數(shù)字識(shí)別的示例代碼的文章就介紹到這了,更多相關(guān)Opencv 數(shù)字識(shí)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 詳解Python OpenCV數(shù)字識(shí)別案例
  • python opencv人臉識(shí)別考勤系統(tǒng)的完整源碼
  • Python基于Opencv識(shí)別兩張相似圖片
  • python基于OpenCV模板匹配識(shí)別圖片中的數(shù)字
  • Python OpenCV招商銀行信用卡卡號(hào)識(shí)別的方法
  • Opencv+Python識(shí)別PCB板圖片的步驟
  • python基于opencv實(shí)現(xiàn)人臉識(shí)別
  • python+opencv實(shí)現(xiàn)文字顏色識(shí)別與標(biāo)定功能

標(biāo)簽:亳州 渭南 拉薩 黔東 興安盟 內(nèi)江 綿陽(yáng) 廊坊

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python+Opencv實(shí)現(xiàn)數(shù)字識(shí)別的示例代碼》,本文關(guān)鍵詞  Python+Opencv,實(shí)現(xiàn),數(shù)字,識(shí),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python+Opencv實(shí)現(xiàn)數(shù)字識(shí)別的示例代碼》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Python+Opencv實(shí)現(xiàn)數(shù)字識(shí)別的示例代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    国产精品观看| 国产精品6699| 欧美激情视频免费看| 国产一区二区三区四区老人| 日夜操在线视频| 国产精品美女一区二区三区| 国产精品一区二区精品视频观看| 在线观看国产精品日韩av| av成人在线电影| 在线成人av电影| 国产一二三四五区| 日本日本精品二区免费| 成人动漫h在线观看| 亚洲欧美日韩综合在线| 一本一道久久a久久精品| 精品国产伦一区二区三区观看说明| 欧美激情视频网站| 国产在线xxx| 黄大色黄女片18免费| 色哟哟精品观看| 91国偷自产一区二区三区观看| 亚洲免费高清视频在线| 91大神福利视频| 黄大色黄女片18免费| 久久久久久久久久久久久久久| 欧美在线播放一区二区| 99精品在线视频观看| 久久一区二区三区四区| 中文字幕色视频| 成人性做爰片免费视频| 中文字幕乱码人妻二区三区| 亚洲色图综合| 中文字幕日韩一区| av网站免费线看精品| 久久精品一区二区三区av| 一区二区亚洲欧洲国产日韩| 波多野结衣的一区二区三区| 成人看的视频| 欧美在线中文| 自拍亚洲一区欧美另类| 欧美一区二区三区视频在线观看| 欧美最近摘花xxxx摘花| 偷拍夫妻性生活| 99精品国产在热久久下载| 私库av在线播放| 你懂的视频一区二区| 日韩精品一区二区三区视频| 污视频在线免费观看一区二区三区| 女人一区二区三区| 日本亲与子乱a| 亚洲精品日韩av| 亚洲国产精品久久久久爰色欲| 三级在线看中文字幕完整版| 中文字幕一区免费在线观看| 日日夜夜人人| 国产69精品久久久久久久久久| 久久久久99精品成人片毛片| 精品视频在线播放一区二区三区| 日本韩国欧美国产| 无码人妻久久一区二区三区不卡| 欧美综合77777色婷婷| 久久久黄色av| 国产剧情一区二区三区| √8天堂资源地址中文在线| 欧美有码视频| 亚洲a级精品| 久久久久久久久成人| 中文字幕一区二区三区四区不卡| 青青草免费在线视频观看| 欧美极品少妇xxxxⅹ免费视频| 午夜激情视频网| 欧美高清3dfreexxxx性| 欧美日韩一区二区三区不卡视频| 国产精品免费久久久| 九九精品视频在线观看| 欧美五级在线观看视频播放| 久久午夜羞羞影院免费观看| 七七久久电影网| 日批视频免费播放| 中文字幕欧美一区二区| 国产大奶视频| 91在线视频在线观看| 亚洲乱码国产一区三区| av电影一区二区| 欧美艳星brazzers| 欧美a v在线播放| 熟女人妇 成熟妇女系列视频| 欧美插插视频| 欧美激情一区二区三区蜜桃视频| 一本一道久久a久久精品| 精品国产99国产精品| 久久久久99精品成人片试看| 波多野结衣中文字幕在线播放| 8x8x8国产精品| 成人在线电影在线观看视频| 日韩免费毛片视频| 亚洲国产精品一区二区第一页| caoporn国产精品免费公开| 国产99久久久| 日本激情一区二区三区| 日韩专区一卡二卡| 四色成人av永久网址| 中文字幕成人在线视频| 欧美三级超在线视频| 在线黄色国产视频| 黄色成人一级片| 日韩一区有码在线| 欧美老女人bb| 99re这里只有精品在线| 国产欧美久久久| 免费国产黄色片| 亚洲乱码一区二区三区三上悠亚| 欧美三级小视频| 国产精品99久久久久久白浆小说| 欧美日韩一道本| 在线午夜视频| 91视频导航| 亚洲熟女www一区二区三区| 午夜激情一区二区三区| 美女100%无挡| 欧美人妻精品一区二区三区| 日韩激情一区二区三区| 日日橹狠狠爱欧美超碰| 奇米成人av国产一区二区三区| 欧美有码在线观看视频| 亚洲精品国产拍免费91在线| 成人网页在线观看| 日本中文字幕在线不卡| 欧美一区二区精品在线| 成人免费aaa| 国产精品视频一区二区三区经| 337p日本欧洲亚洲大胆色噜噜| 久久高清国产| 一级黄色片日本| 日韩美女视频一区二区| 中文字幕无线精品亚洲乱码一区| 99精品免费视频| 欧美极度另类| 亚洲精品成人| 99久热re在线精彩视频| 日韩欧美在线综合| 少妇高潮 亚洲精品| 成人影院网站ww555久久精品| 在线观看亚洲成人| 国产小视频在线看| 国产91在线观看丝袜| 国产精品嫩模av在线| 性欧美大战久久久久久久免费观看| 未来日记在线观看| 成人高清免费在线| 精品国产一区二区三区噜噜噜| 久久看人人爽人人| 小说区亚洲自拍另类图片专区| 免费视频拗女稀缺一区二区| 日本最新在线视频| 在线观看中文字幕一区| 麻豆国产精品va在线观看不卡| 正在播放国产一区| 久久久久久精| 黄色视屏免费在线观看| 国产免费999| 亚洲特级黄色片| 国产极品精品在线观看| 日韩毛片中文字幕| 美女禁区视频免费观看精选| 午夜影院福利社| 中文字幕精品视频在线观看| 成人春色激情网| 日韩一区二区视频在线观看| 狠狠做深爱婷婷综合一区| 91专区在线观看| 国产精品一二三在线| 欧美精品aⅴ在线视频| 欧美少妇一级片| 亚洲人成人77777线观看| 免费欧美日韩| 国产美女精品在线| 精品精品国产国产自在线| 夜夜躁日日躁狠狠久久av| 精品资源在线| 欧美私人情侣网站| 国产一区不卡精品| 久久伊人91精品综合网站| 日韩美女精品在线| 欧洲精品在线观看| 国产在线91| 97欧美在线视频| 美乳少妇欧美精品| 日本精品视频| 亚洲免费综合| 国产精品美女久久久久久久网站| 国产精品久久久久一区二区国产| 精品视频无码一区二区三区| 一本色道久久综合亚洲精品不卡| 欧美午夜精品久久久| 粉嫩欧美一区二区三区高清影视| 国产成人久久久精品一区| 91小仙女jk白丝袜呻吟| 欧美日韩一区二区区别是什么| 国产又白又嫩又爽又黄| 国产精品久久久久久久免费软件| 噼里啪啦国语在线观看免费版高清版| 色哟哟无码精品一区二区三区| 最近2019中文字幕在线高清| 3p视频在线观看| 日本a级不卡| 国产精品毛片一区二区在线看舒淇| 成人免费精品视频| 国产精品久久久网站| 亚洲天堂第二页| av资源一区| 久久精品99久久无色码中文字幕| 国产精品国产三级国产aⅴ浪潮| 97碰在线视频| 这里只有精品在线观看| 清纯唯美亚洲经典中文字幕| 欧美videossex另类| 最新国产热播激情视频| 欧美成人高清视频| 三级不卡在线观看| 韩国成人福利片在线播放| 久热中文字幕在线| 精品制服美女久久| 蜜桃精品在线观看| 欧美亚洲日本网站| 中文字幕国产免费| 中文字幕久久精品一区二区| 可以免费观看的毛片| 台湾佬中文娱乐久久久| 国产视频91在线| 色黄久久久久久| 国产中文字幕在线免费观看| japanese在线观看| 久久久精品一区二区涩爱| 亚洲第一免费视频| 亚洲自拍欧美另类| 99精品在线播放| 天天操天天摸天天爽| 波多野在线播放| 黄网免费视频| 992tv人人草| 成人激情视屏| 国产成人免费观看网站| 亚洲综合一二区| 青青影院在线观看| 精品精品国产高清一毛片一天堂| 欧美日韩在线不卡视频| 欧美在线视频你懂得| 国产av一区二区三区| 国产免费拔擦拔擦8x高清在线人| 99re6这里只有精品视频在线观看| 欧美在线一区二区视频| 亚洲狼人国产精品| 91麻豆制片厂| av在线播放一区二区三区| 欧美日韩国产一区二区三区| 老司机福利在线观看| 又色又爽又高潮免费视频国产| 影音av资源网| 中文字幕一区二区在线观看视频| 日韩网站在线播放| 国产精品无码久久av| 美腿丝袜亚洲综合| 免费污视频在线一区| 久久国产精品-国产精品| 免费看a网站| 久久麻豆视频| 欧美疯狂xxxx大交乱88av| 精品人妻少妇AV无码专区| 伊人色综合久久天天五月婷| 成人综合在线视频| 国产chinese中国hdxxxx| 菠萝蜜网站在线观看| 99精品免费在线观看| 在线免费视频你懂得| 一区二区成人av| 亚洲aaa精品| 欧美做受高潮6| 欧美12一14sex性hd| a黄色片在线观看| 日韩欧美亚洲一区| 美女毛片在线观看| 灌醉mj刚成年的大学平面模特| www.av视频| 欧美91在线|欧美| 亚洲欧美激情精品一区二区| 日韩三级在线观看| 久草热视频在线观看| 国产极品在线观看| 亚洲+变态+欧美+另类+精品| 欧美色老头old∨ideo| 欧洲av一区二区| 蜜桃免费网站一区二区三区| 日韩精品在线播放视频| 国产日韩v精品一区二区| 亚洲黄色三级| 欧美极品一区二区| 丝袜美腿一区| 日日摸夜夜爽人人添av| 一级黄色av片| 欧美日韩国产综合一区二区| 亚洲最新永久在线观看| 日韩a在线播放| 免费一区二区三区| 乳奴隷乳フ辱| 天堂av2024| 91在线观看入口| 蜜桃视频一区| 97神马电影| 国模雨婷捆绑高清在线| 在线观看免费p片视频网站地址| 国产精品91一区二区| 亚洲国产精品传媒在线观看| 强伦人妻一区二区三区| 亚洲国产婷婷香蕉久久久久久99| 欧美激情导航| 一区二区三区四区精品在线视频| 四虎久久免费| 成人精品久久| www.色五月.com| 亚洲国产精品久久久久爰色欲| japonensisjava老师可播放| 亚洲午夜福利在线观看| 亚洲承认在线| 91精品久久久久久久久| 一本大道久久a久久精二百| 国产又粗又长| 伦理在线一区|