色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

點(diǎn)云數(shù)據(jù)——The Point Cloud Data

新機(jī)器視覺(jué) ? 來(lái)源:CSDN ? 作者:CSDN ? 2021-04-18 10:23 ? 次閱讀

點(diǎn)云數(shù)據(jù)——The Point Cloud Data

點(diǎn)云數(shù)據(jù)應(yīng)表示為具有N行和至少3列的numpy數(shù)組。每行對(duì)應(yīng)于單個(gè)點(diǎn),其在空間(x,y,z)中的位置使用至少3個(gè)值表示。

8698e558-9fbb-11eb-8b86-12bb97331649.png

如果點(diǎn)云數(shù)據(jù)來(lái)自LIDAR傳感器,那么它可能具有每個(gè)點(diǎn)的附加值,例如“反射率”,其是在該位置中障礙物反射多少激光光束的量度。在這種情況下,點(diǎn)云數(shù)據(jù)可能是Nx4陣列。

圖像與點(diǎn)云坐標(biāo)——Image vs Point Cloud Coordinates

點(diǎn)云的軸與圖像中的軸具有完全不同的含義。下圖顯示了藍(lán)色的圖像軸和橙色的點(diǎn)云軸。

86c4786c-9fbb-11eb-8b86-12bb97331649.png

關(guān)于圖像需要注意的一些重要事項(xiàng):

圖像中的坐標(biāo)值始終為正。

原點(diǎn)位于左上角。

坐標(biāo)是整數(shù)值。

有關(guān)點(diǎn)云坐標(biāo)的注意事項(xiàng):

點(diǎn)云中的坐標(biāo)值可以是正數(shù)或負(fù)數(shù)。

坐標(biāo)可以采用實(shí)數(shù)值。

正x軸表示向前。

正y軸表示左。

正z軸表示向上。

創(chuàng)建點(diǎn)云數(shù)據(jù)的Birdseye視圖

鳥(niǎo)瞰圖的相關(guān)軸
為了創(chuàng)建鳥(niǎo)眼視圖圖像,來(lái)自點(diǎn)云數(shù)據(jù)的相關(guān)軸將是x和y軸。

86e36812-9fbb-11eb-8b86-12bb97331649.png

但是,正如我們從上圖所示,我們必須小心并考慮以下事項(xiàng):
x和y軸意味著相反的事情。
x和y軸指向相反的方向。
您必須移動(dòng)值,以便(0,0)是圖像中可能的最小值。

1.限制矩形看——Limiting Rectangle to Look at

僅關(guān)注點(diǎn)云的特定區(qū)域通常很有用。因此,我們希望創(chuàng)建一個(gè)僅保留我們感興趣的區(qū)域內(nèi)的點(diǎn)的過(guò)濾器。

由于我們正在查看頂部的數(shù)據(jù),并且我們有興趣將其轉(zhuǎn)換為圖像,因此我將使用與圖像軸更加一致的方向。下面,我指定我想要集中在相對(duì)于原點(diǎn)的值的范圍。原點(diǎn)左側(cè)的任何內(nèi)容都將被視為負(fù)數(shù),而右側(cè)的任何內(nèi)容都將被視為正數(shù)。點(diǎn)云的x軸將被解釋為向前方向(這將是我們的鳥(niǎo)眼圖像的向上方向)。

下面的代碼將感興趣的矩形設(shè)置為在原點(diǎn)的兩側(cè)跨越10米,并在其前面20米處。

side_range=(-10, 10) # left-most to right-mostfwd_range=(0, 20) # back-most to forward-most

2.接下來(lái),我們創(chuàng)建一個(gè)過(guò)濾器,僅保留實(shí)際位于我們指定的矩形內(nèi)的點(diǎn)。

# EXTRACT THE POINTS FOR EACH AXISx_points = points[:, 0]y_points = points[:, 1]z_points = points[:, 2] # FILTER - To return only indices of points within desired cube# Three filters for: Front-to-back, side-to-side, and height ranges# Note left side is positive y axis in LIDAR coordinatesf_filt = np.logical_and((x_points > fwd_range[0]), (x_points < fwd_range[1]))s_filt = np.logical_and((y_points > -side_range[1]), (y_points < -side_range[0]))filter = np.logical_and(f_filt, s_filt)indices = np.argwhere(filter).flatten() # KEEPERSx_points = x_points[indices]y_points = y_points[indices]z_points = z_points[indices]

3.將點(diǎn)位置映射到像素位置——Mapping Point Positions to Pixel Positions

目前,我們有一堆帶有實(shí)數(shù)值的點(diǎn)。為了映射這些值,將這些值映射到整數(shù)位置值。我們可以天真地將所有x和y值整合到整數(shù)中,但我們最終可能會(huì)失去很多分辨率。例如,如果這些點(diǎn)的測(cè)量單位是以米為單位,則每個(gè)像素將表示點(diǎn)云中1x1米的矩形,我們將丟失任何小于此的細(xì)節(jié)。如果你有一個(gè)類似山景的點(diǎn)云,這可能沒(méi)問(wèn)題。但是如果你想能夠捕捉更精細(xì)的細(xì)節(jié)并識(shí)別人類,汽車(chē),甚至更小的東西,那么這種方法就沒(méi)有用了。 但是,可以稍微修改上述方法,以便我們獲得所需的分辨率級(jí)別。在對(duì)整數(shù)進(jìn)行類型轉(zhuǎn)換之前,我們可以先擴(kuò)展數(shù)據(jù)。例如,如果測(cè)量單位是米,我們想要5厘米的分辨率,我們可以做如下的事情:

res = 0.05# CONVERT TO PIXEL POSITION VALUES - Based on resolutionx_img = (-y_points / res).astype(np.int32) # x axis is -y in LIDARy_img = (-x_points / res).astype(np.int32) # y axis is -x in LIDAR

您會(huì)注意到x軸和y軸交換,方向反轉(zhuǎn),以便我們現(xiàn)在可以開(kāi)始處理圖像坐標(biāo)。

更改坐標(biāo)原點(diǎn)——Shifting to New Origin

x和y數(shù)據(jù)仍未準(zhǔn)備好映射到圖像。我們可能仍然有負(fù)x和y值。所以我們需要將數(shù)據(jù)移位到(0,0)最小值。

# SHIFT PIXELS TO HAVE MINIMUM BE (0,0)# floor and ceil used to prevent anything being rounded to below 0 after shiftx_img -= int(np.floor(side_range[0] / res))y_img += int(np.ceil(fwd_range[1] / res))

現(xiàn)在數(shù)據(jù)值都為正值

>>> x_img.min()7>>> x_img.max()199>>> y_img.min()1>>> y_img.max()199

像素值——Pixel Values

我們已經(jīng)使用點(diǎn)數(shù)據(jù)來(lái)指定圖像中的x和y位置。我們現(xiàn)在需要做的是指定我們想要用這些像素位置填充的值。一種可能性是用高度數(shù)據(jù)填充它。要做的兩件事 請(qǐng)記住: 像素值應(yīng)為整數(shù)。 像素值應(yīng)該是0-255范圍內(nèi)的值。 我們可以從數(shù)據(jù)中獲取最小和最大高度值,并重新縮放該范圍以適應(yīng)0-255的范圍。另一種方法,這里將使用的方法是設(shè)置我們想要集中的高度值范圍,并且高于或低于該范圍的任何內(nèi)容都被剪切為最小值和最大值。這很有用,因?yàn)樗试S我們從感興趣的區(qū)域獲得最大量的細(xì)節(jié)。

height_range = (-2, 0.5) # bottom-most to upper-most # CLIP HEIGHT VALUES - to between min and max heightspixel_values = np.clip(a = z_points, a_min=height_range[0], a_max=height_range[1])

在下面的代碼中,我們將范圍設(shè)置為原點(diǎn)下方2米,高于原點(diǎn)半米。接下來(lái),我們將這些值重新縮放到0到255之間,并將類型轉(zhuǎn)換為整數(shù)。

def scale_to_255(a, min, max, dtype=np.uint8): """ Scales an array of values from specified min, max range to 0-255 Optionally specify the data type of the output (default is uint8) """ return (((a - min) / float(max - min)) * 255).astype(dtype) # RESCALE THE HEIGHT VALUES - to be between the range 0-255pixel_values = scale_to_255(pixel_values, min=height_range[0], max=height_range[1])

創(chuàng)建圖像陣列——Create the Image Array

現(xiàn)在我們準(zhǔn)備實(shí)際創(chuàng)建圖像,我們只是初始化一個(gè)數(shù)組,其尺寸取決于我們?cè)诰匦沃兴璧闹捣秶臀覀冞x擇的分辨率。然后我們使用我們轉(zhuǎn)換為像素位置的x和y點(diǎn)值來(lái)指定數(shù)組中的索引,并為這些索引分配我們選擇的值作為前一小節(jié)中的像素值。

# INITIALIZE EMPTY ARRAY - of the dimensions we wantx_max = 1+int((side_range[1] - side_range[0])/res)y_max = 1+int((fwd_range[1] - fwd_range[0])/res)im = np.zeros([y_max, x_max], dtype=np.uint8) # FILL PIXEL VALUES IN IMAGE ARRAYim[y_img, x_img] = pixel_values

預(yù)覽——Viewing

目前,圖像存儲(chǔ)為numpy數(shù)組。如果我們希望將其可視化,我們可以將其轉(zhuǎn)換為PIL圖像,并查看它。

# CONVERT FROM NUMPY ARRAY TO A PIL IMAGEfrom PIL import Imageim2 = Image.fromarray(im)im2.show()

我們作為人類并不善于分辨灰色陰影之間的差異,因此它可以幫助我們使用光譜顏色映射來(lái)讓我們更容易分辨出價(jià)值差異。我們可以在matplotlib中做到這一點(diǎn)。(實(shí)際無(wú)法正常顯示)

import matplotlib.pyplot as pltplt.imshow(im, cmap="spectral", vmin=0, vmax=255)plt.show()

8722bc6a-9fbb-11eb-8b86-12bb97331649.jpg

它實(shí)際上編碼與PIL繪制的圖像完全相同的信息量,因此機(jī)器學(xué)習(xí)學(xué)習(xí)算法例如仍然能夠區(qū)分高度差異,即使我們?nèi)祟惒荒芊浅G宄乜吹讲町悺?/p>

import cv2 #通過(guò)cv2顯示 cv2.imshow("im",im) cv2.waitKey() cv2.destroyAllWindows()

87545c84-9fbb-11eb-8b86-12bb97331649.png

完整代碼——Complete Code

為方便起見(jiàn),我將上面的所有代碼放在一個(gè)函數(shù)中,它將鳥(niǎo)瞰視圖作為一個(gè)numpy數(shù)組返回。然后,您可以選擇使用您喜歡的任何方法對(duì)其進(jìn)行可視化,或者將numpy數(shù)組插入到機(jī)器學(xué)習(xí)算法中。

import numpy as np # ==============================================================================# SCALE_TO_255# ==============================================================================def scale_to_255(a, min, max, dtype=np.uint8): """ Scales an array of values from specified min, max range to 0-255 Optionally specify the data type of the output (default is uint8) """ return (((a - min) / float(max - min)) * 255).astype(dtype) # ==============================================================================# POINT_CLOUD_2_BIRDSEYE# ==============================================================================def point_cloud_2_birdseye(points, res=0.1, side_range=(-10., 10.), # left-most to right-most fwd_range = (-10., 10.), # back-most to forward-most height_range=(-2., 2.), # bottom-most to upper-most ): """ Creates an 2D birds eye view representation of the point cloud data. Args: points: (numpy array) N rows of points data Each point should be specified by at least 3 elements x,y,z res: (float) Desired resolution in metres to use. Each output pixel will represent an square region res x res in size. side_range: (tuple of two floats) (-left, right) in metres left and right limits of rectangle to look at. fwd_range: (tuple of two floats) (-behind, front) in metres back and front limits of rectangle to look at. height_range: (tuple of two floats) (min, max) heights (in metres) relative to the origin. All height values will be clipped to this min and max value, such that anything below min will be truncated to min, and the same for values above max. Returns: 2D numpy array representing an image of the birds eye view. """ # EXTRACT THE POINTS FOR EACH AXIS x_points = points[:, 0] y_points = points[:, 1] z_points = points[:, 2] # FILTER - To return only indices of points within desired cube # Three filters for: Front-to-back, side-to-side, and height ranges # Note left side is positive y axis in LIDAR coordinates f_filt = np.logical_and((x_points > fwd_range[0]), (x_points < fwd_range[1])) s_filt = np.logical_and((y_points > -side_range[1]), (y_points < -side_range[0])) filter = np.logical_and(f_filt, s_filt) indices = np.argwhere(filter).flatten() # KEEPERS x_points = x_points[indices] y_points = y_points[indices] z_points = z_points[indices] # CONVERT TO PIXEL POSITION VALUES - Based on resolution x_img = (-y_points / res).astype(np.int32) # x axis is -y in LIDAR y_img = (-x_points / res).astype(np.int32) # y axis is -x in LIDAR # SHIFT PIXELS TO HAVE MINIMUM BE (0,0) # floor & ceil used to prevent anything being rounded to below 0 after shift x_img -= int(np.floor(side_range[0] / res)) y_img += int(np.ceil(fwd_range[1] / res)) # CLIP HEIGHT VALUES - to between min and max heights pixel_values = np.clip(a=z_points, a_min=height_range[0], a_max=height_range[1]) # RESCALE THE HEIGHT VALUES - to be between the range 0-255 pixel_values = scale_to_255(pixel_values, min=height_range[0], max=height_range[1]) # INITIALIZE EMPTY ARRAY - of the dimensions we want x_max = 1 + int((side_range[1] - side_range[0]) / res) y_max = 1 + int((fwd_range[1] - fwd_range[0]) / res) im = np.zeros([y_max, x_max], dtype=np.uint8) # FILL PIXEL VALUES IN IMAGE ARRAY im[y_img, x_img] = pixel_values return im

責(zé)任編輯:lq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 圖像
    +關(guān)注

    關(guān)注

    2

    文章

    1087

    瀏覽量

    40497
  • 陣列
    +關(guān)注

    關(guān)注

    0

    文章

    60

    瀏覽量

    16863
  • 點(diǎn)云數(shù)據(jù)

    關(guān)注

    0

    文章

    13

    瀏覽量

    1521

原文標(biāo)題:點(diǎn)云數(shù)據(jù)詳解——點(diǎn)云數(shù)據(jù)變?yōu)閳D像

文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺(jué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Looker Studio連接器:一個(gè)連接器從多個(gè)數(shù)據(jù)庫(kù)和應(yīng)用獲取數(shù)據(jù)

    并擁有外部 IP。 適用于 Cloud Data 的連接器 通過(guò)單個(gè)連接器將 Looker Studio(以前稱為 Google Data Studio)連接到各種應(yīng)用程序。對(duì)
    的頭像 發(fā)表于 01-03 09:07 ?79次閱讀
    Looker Studio連接器:一個(gè)連接器從多個(gè)<b class='flag-5'>數(shù)據(jù)</b>庫(kù)和<b class='flag-5'>云</b>應(yīng)用獲取<b class='flag-5'>數(shù)據(jù)</b>

    數(shù)據(jù)庫(kù)和主機(jī)哪個(gè)好一點(diǎn)

    數(shù)據(jù)庫(kù)和主機(jī)哪個(gè)好一點(diǎn)主機(jī)和數(shù)據(jù)庫(kù)各有優(yōu)勢(shì)
    的頭像 發(fā)表于 12-04 13:50 ?143次閱讀

    告別繁瑣的平臺(tái)開(kāi)發(fā)!IoT_CLOUD之 百度

    ?眾所周知,市面上有很多云平臺(tái),并且每家平臺(tái)都有自己的協(xié)議,工程師要移植不同的SDK代碼或基于各家的手冊(cè)文檔對(duì)接不同的協(xié)議,看著都頭大!!! 為解決繁瑣的平臺(tái)開(kāi)發(fā)困擾, IoT_CLOUD
    的頭像 發(fā)表于 10-31 07:23 ?221次閱讀
    告別繁瑣的<b class='flag-5'>云</b>平臺(tái)開(kāi)發(fā)!IoT_<b class='flag-5'>CLOUD</b>之 百度<b class='flag-5'>云</b>

    告別繁瑣的平臺(tái)開(kāi)發(fā)!IoT_CLOUD之百度

    文檔對(duì)接不同的協(xié)議,看著都頭大!!! 為解決繁瑣的平臺(tái)開(kāi)發(fā)困擾, 合宙IoT_CLOUD應(yīng)運(yùn)而生,一庫(kù)打通所有平臺(tái)! 本文將以Air780E+LuatOS作為示例,教你使用合宙IoT_CL
    的頭像 發(fā)表于 10-21 07:05 ?739次閱讀
    告別繁瑣的<b class='flag-5'>云</b>平臺(tái)開(kāi)發(fā)!IoT_<b class='flag-5'>CLOUD</b>之百度<b class='flag-5'>云</b>

    Commvault Cloud平臺(tái)提供Cloud Rewind功能

    混合企業(yè)網(wǎng)絡(luò)彈性和數(shù)據(jù)保護(hù)解決方案領(lǐng)先提供商Commvault(納斯達(dá)克代碼:CVLT)宣布在Commvault Cloud平臺(tái)上提供Cloud Rewind功能。這項(xiàng)獨(dú)特的產(chǎn)品集成
    的頭像 發(fā)表于 10-15 09:21 ?368次閱讀

    Commvault在AWS上推出Commvault Cloud網(wǎng)絡(luò)彈性平臺(tái)

    混合網(wǎng)絡(luò)彈性和數(shù)據(jù)保護(hù)解決方案的領(lǐng)先提供商Commvault(納斯達(dá)克代碼:CVLT)宣布將在Amazon Web Services(AWS)上推出Commvault Cloud網(wǎng)絡(luò)彈性平臺(tái)。
    的頭像 發(fā)表于 10-15 09:19 ?409次閱讀

    干貨分享:Air780E怎么連接華為

    文檔對(duì)接不同的協(xié)議,看著都頭大!!! 為解決繁瑣的平臺(tái)開(kāi)發(fā)困擾, 合宙IoT_CLOUD應(yīng)運(yùn)而生,一庫(kù)打通所有平臺(tái)! 本文將以Air780E+LuatOS作為示例,教你使用合宙IoT_CL
    的頭像 發(fā)表于 10-15 07:30 ?302次閱讀
    干貨分享:Air780E怎么連接華為<b class='flag-5'>云</b>?

    NetApp與Google Cloud深化合作,強(qiáng)化分布式存儲(chǔ)

    智能數(shù)據(jù)基礎(chǔ)設(shè)施領(lǐng)導(dǎo)者NetApp?宣布,其與Google Cloud的戰(zhàn)略合作再升級(jí)。此次合作中,NetApp將統(tǒng)一數(shù)據(jù)存儲(chǔ)和智能服務(wù)融入Google Distributed Cloud
    的頭像 發(fā)表于 10-11 17:21 ?508次閱讀

    輕松上怎么操作?IoT_CLOUD之中移OneNET

    ? 最近來(lái)了很多新朋友,也經(jīng)常被問(wèn):可以多講些平臺(tái)的操作嗎? 當(dāng)然可以!文末留言你想要了解的平臺(tái),優(yōu)先安排~ 接下來(lái),本文將以Air780E+LuatOS作為示例,教你使用合宙IoT_CLOUD
    的頭像 發(fā)表于 10-08 07:00 ?365次閱讀
    輕松上<b class='flag-5'>云</b>怎么操作?IoT_<b class='flag-5'>CLOUD</b>之中移OneNET

    4G模組如何輕松上?合宙IoT_CLOUD之中移OneNET

    ?** 有新朋友問(wèn):可以多講些平臺(tái)的操作嗎?** 當(dāng)然可以!文末留言你想要了解的平臺(tái),優(yōu)先安排~ 接下來(lái),本文將以Air780E+LuatOS作為示例,教你使用合宙IoT_CLOUD連接中移
    的頭像 發(fā)表于 10-07 20:41 ?410次閱讀
    4G模組如何輕松上<b class='flag-5'>云</b>?合宙IoT_<b class='flag-5'>CLOUD</b>之中移OneNET

    激光雷達(dá)點(diǎn)數(shù)據(jù)包含哪些信息

    )、環(huán)境監(jiān)測(cè)、城市規(guī)劃等領(lǐng)域。激光雷達(dá)點(diǎn)數(shù)據(jù)是激光雷達(dá)系統(tǒng)收集到的一系列三維空間坐標(biāo)點(diǎn),包含了豐富的空間信息。本文將介紹激光雷達(dá)點(diǎn)
    的頭像 發(fā)表于 08-29 17:18 ?980次閱讀

    聯(lián)世紀(jì)攜手GMI Cloud:打造亞太至全球AI算力服務(wù)新引擎

    聯(lián)世紀(jì)CEO許瑞首先對(duì)GMI Cloud一行的到來(lái)表示熱烈的歡迎和衷心的感謝,并表示接下來(lái)聯(lián)世紀(jì)將秉持優(yōu)勢(shì)互補(bǔ)、互惠互利、共同發(fā)展的基本原則和宗旨,全力推動(dòng)協(xié)議落實(shí)落地,推進(jìn)各項(xiàng)合作項(xiàng)目順利實(shí)施。
    的頭像 發(fā)表于 08-05 14:58 ?442次閱讀
    聯(lián)<b class='flag-5'>云</b>世紀(jì)攜手GMI <b class='flag-5'>Cloud</b>:打造亞太至全球AI算力服務(wù)新引擎

    請(qǐng)問(wèn)Mesh網(wǎng)絡(luò)是不是只能連接官方Espressif Cloud

    請(qǐng)問(wèn),Mesh網(wǎng)絡(luò)是不是只能連接官方Espressif Cloud?可以在其他平臺(tái)上使用嗎? 謝謝?
    發(fā)表于 07-22 07:47

    ESP-Jumpstart例程中第5個(gè)工程:5_cloud連接報(bào)錯(cuò)是哪里的問(wèn)題?

    IDF版本:esp-idf-v4.4.4 配網(wǎng)成功后,連不上,報(bào)錯(cuò)信息如下: Starting cloud I (64403) cloud: Shadow Init I (64413
    發(fā)表于 06-12 07:20

    SAP專家級(jí)實(shí)施商解讀:SAP S/4HANA Cloud(PCE私有) 的五大誤解

    五個(gè)關(guān)于SAP S/4HANA Cloud(PCE私有)的重要疑問(wèn): ■ SAP太貴了? ■ SAP S/4HANA Cloud 只適用于大型企業(yè)? ■ ERP項(xiàng)目,尤其是 SAP 解決方案,太
    的頭像 發(fā)表于 04-26 23:52 ?536次閱讀
    SAP專家級(jí)實(shí)施商解讀:SAP S/4HANA <b class='flag-5'>Cloud</b>(PCE私有<b class='flag-5'>云</b>) 的五大誤解
    主站蜘蛛池模板: 久久99re7在线视频精品| 一本道高清到手机在线| 亚洲精品久久久久无码AV片软件| 中国老太60old mantv| 国产99RE在线观看69热| 久热这里只有精品99国产6| 特黄特色大片免费播放器9| 18videosex性欧美黑色| 国产精品久久久久久日本| 你的欲梦裸身在线播放| 亚洲色综合狠狠综合区| 囯产少妇BBBBBB高潮喷水一| 免费人成网站在线观看10分钟| 亚洲精品资源网在线观看| 囯产精品久久久久久久久蜜桃| 嗯啊不要老师| 又爽又黄又粗又大免费视频| 国产色婷婷亚洲99精品| 日本无码免费久久久精品| 91麻豆久久| 久久精品无码人妻无码AV蜜臀| 亚洲 欧美 清纯 校园 另类| 成人毛片一区二区三区| 嫩草国产福利视频一区二区| 浴室里强摁做开腿呻吟的漫画| 国产亚洲精品久久久999密臂| 日韩经典欧美一区二区三区| 99久久国产宗和精品1上映| 久久久无码精品亚洲A片猫咪| 亚洲 小说 欧美 激情 另类| 风情韵味人妻HD| 人成片在线观看亚洲无遮拦| 99久久精品国内| 毛片视频大全| 伊人影院亚洲| 精品国产在天天线在线麻豆| 亚欧免费观看在线观看更新| 国产高清砖码区| 色人格影院第四色| 大香网伊人久久综合网2020| 强开乳罩摸双乳吃奶视频|