日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人工智能 > ChatGpt >内容正文

ChatGpt

Halcon学习笔记:Halcon标定步骤-3d_coordinates.hdev示例

發(fā)布時(shí)間:2024/7/23 ChatGpt 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Halcon学习笔记:Halcon标定步骤-3d_coordinates.hdev示例 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Halcon標(biāo)定步驟

1.設(shè)置相機(jī)內(nèi)部參數(shù)的初始值

StartCamPar := [0.016,0,0.0000074,0.0000074,326,247,652,494]
set_calib_data_cam_param (CalibDataID, 0, ‘a(chǎn)rea_scan_division’, StartCamPar)

1.1 相機(jī)型號(hào)

  • (1)面陣
  • (2)線陣

1.2 參數(shù)設(shè)置(這里只講面陣相機(jī))

  • (1)Division 畸變模型
    CameraParam:[Focus, Kappa, Sx, Sy, Cx, Cy, ImageWidth, ImageHeight]
  • (2)Polynomial 畸變模型
    CameraParam:[Focus, K1, K2, K3, P1, P2, Sx, Sy, Cx, Cy, ImageWidth, ImageHeight]
    注:當(dāng)鏡頭為遠(yuǎn)心鏡頭時(shí),Focus=0;

1.3 畸變類型的選擇

  • Division 畸變模型只適用于精度要求不是很高,標(biāo)定圖片數(shù)量較少的情況;Polynomial 畸變模型對(duì)鏡像
    畸變和切向畸變都校正,精度較高,花費(fèi)時(shí)間長(zhǎng)。

1.4 標(biāo)定時(shí)個(gè)參數(shù)值的確定技巧

  • Focus f:鏡頭的標(biāo)稱焦距,( e.g, 0.016 m; 對(duì)于遠(yuǎn)心鏡頭為0。)
  • κ: 一般去0.0

Or:

  • K1, K2, K3,P1, P2:可全部初始化為0

  • Sx: 由CCD\CMOS確定建議取值如下:
    Full image (640480) Subsampling (320240)
    1/3"-Chip 0.0000055 m 0.0000110 m
    1/2"-Chip 0.0000086 m 0.0000172 m
    2/3"-Chip 0.0000110 m 0.0000220 m

  • Sy: 由CCD\CMOS確定建議取值如下:
    for example:
    Full image (640480) Subsampling (320240)
    1/3"-Chip 0.0000055 m 0.0000110 m
    1/2"-Chip 0.0000086 m 0.0000172 m
    2/3"-Chip 0.0000110 m 0.0000220 m

  • Cx and Cy: 光心坐標(biāo)初始值,建議取值如下:
    for example:
    Full image (640480) Subsampling (320240)
    Cx 320.0 160.0
    Cy 240.0 120.0

  • ImageWidth,ImageHeight:有實(shí)際圖片大小來(lái)初始化該值
    for example:
    Full image (640480) Subsampling (320240)
    ImageWidth 640 320
    ImageHeight 480 240

2.標(biāo)定板初始化

CaltabName := 'caltab_30mm.descr'//標(biāo)定板描述文件set_calib_data_calib_object (CalibDataID, 0, CaltabName)

3.創(chuàng)建數(shù)據(jù)模型

create_calib_data ('calibration_object', 1, 1, CalibDataID)

4.獲取標(biāo)定圖片

相機(jī)拍攝不同位姿下圖片8-15張,拍攝圖片時(shí)標(biāo)定板盡量覆蓋整個(gè)視場(chǎng)(標(biāo)定板要根據(jù)工作距離、視場(chǎng)大小定制);拍攝圖片上的圓直徑不得小于10個(gè)像素

#### 5.加載所有圖像,尋找標(biāo)定板區(qū)域,確定圓心,將結(jié)果加載到組元中 for I := 1 to NumImages by 1 ... acquire image ...(獲取圖像) find_caltab (Image, Caltab, CaltabName, SizeGauss, MarkThresh, MinDiamMarks) find_marks_and_pose (Image, Caltab, CaltabName, StartCamPar, StartThresh, \DeltaThresh, MinThresh, Alpha, MinContLength, MaxDiamMarks, RCoord, CCoord, StartPose)// 從標(biāo)定數(shù)據(jù)模型中獲取基于點(diǎn)的觀測(cè)數(shù)據(jù)(49個(gè)點(diǎn)的坐標(biāo),索引,粗略估計(jì)被測(cè)校準(zhǔn)物體相對(duì)于被測(cè)相機(jī)的姿態(tài)) set_calib_data_observ_points (CalibDataID, 0, 0, I, RCoord, CCoord, 'all', StartPose) endfor

下面將Halcon中提取目標(biāo)點(diǎn)的大致原理說(shuō)一下:

  • 首先f(wàn)ind_caltab 算子對(duì)圖像高斯濾波(核大小為SizeGauss),接著閾值分割(與之大小為MarkThresh)將標(biāo)定板的區(qū)域找出來(lái), find_marks_and_pose 算子對(duì)區(qū)域中的圓進(jìn)行分割,找到圓的個(gè)數(shù),周長(zhǎng),坐標(biāo)位置等應(yīng)該和標(biāo)定板描述文件中的一致,否則會(huì)自動(dòng)調(diào)整StartThresh,使得StartThresh按照DeltaThresh步長(zhǎng)減小到MinThresh,直到找到準(zhǔn)確的圓心。

6.有了所有圖像中的圓心就可以標(biāo)定了

* 返回平均投影誤差Errorscalibrate_cameras (CalibDataID, Errors)

7.示例:3d_coordinates 測(cè)量世界坐標(biāo)中的傾斜物體

本地函數(shù): get_measure_positions
(Image : PlateRegion : CalibDataID, PoseIndex : Distance, Phi, RowCenter, ColumnCenter)

** 提取標(biāo)定板(二值化、計(jì)算連通量、利用形狀特征選擇區(qū)域,填充空洞) * 形狀特征有:每個(gè)連通區(qū)域的孔數(shù);最小包圍矩形長(zhǎng)度的一半;最小的包圍矩形的寬度的一半 threshold (Image, Region, 0, 120) connection (Region, ConnectedRegions) select_shape (ConnectedRegions, SelectedRegions, ['holes_num','rect2_len1','rect2_len2'], 'and', [1,120,120], [1,200,200]) fill_up (SelectedRegions, PlateRegion) * ** 從table(標(biāo)定板表盤)的邊框構(gòu)造測(cè)量矩形: * 生成區(qū)域XLD輪廓 * 計(jì)算XLD輪廓的“回歸線”的參數(shù) gen_contour_region_xld (PlateRegion, Contours, 'center') segment_contours_xld (Contours, ContoursSplit, 'lines', 7, 4, 2) regress_contours_xld (ContoursSplit, RegressContours, 'no', 1) * 獲取兩邊的垂直邊框線(42) select_contours_xld (RegressContours, VerticalContours, 'direction', rad(45), rad(135), -0.5, 0.5) select_contours_xld (VerticalContours, LongContours, 'length', 150, 500, -0.5, 0.5) * ** 測(cè)量線由table的兩個(gè)垂直邊框線的中心點(diǎn)構(gòu)成: * 從對(duì)象數(shù)組中的選擇對(duì)象(21* 獲得XLD輪廓所有坐標(biāo) select_obj (LongContours, Contour, 1) get_contour_xld (Contour, Rows, Columns) RowBegin1 := Rows[0] ColBegin1 := Columns[0] RowEnd1 := Rows[|Rows| - 1] ColEnd1 := Columns[|Columns| - 1] select_obj (LongContours, Contour, 2) get_contour_xld (Contour, Rows, Columns) RowBegin2 := Rows[0] ColBegin2 := Columns[0] RowEnd2 := Rows[|Rows| - 1] ColEnd2 := Columns[|Columns| - 1] * ** 現(xiàn)在在圖像中進(jìn)行實(shí)際測(cè)量: *從標(biāo)定數(shù)據(jù)模型中獲取基于點(diǎn)的觀測(cè)數(shù)據(jù)(第21個(gè)點(diǎn)和第28個(gè)點(diǎn)的坐標(biāo)) get_calib_data_observ_points (CalibDataID, 0, 0, PoseIndex - 1, Row, Column, PoseIndex, _Pose) Row1 := Row[find(PoseIndex,21)] Row2 := Row[find(PoseIndex,27)] Column1 := Column[find(PoseIndex,21)] Column2 := Column[find(PoseIndex,27)] * 計(jì)算兩條直線的交點(diǎn)(邊框垂直邊和標(biāo)定板第21個(gè)點(diǎn)和第28個(gè)點(diǎn)的連接線的角點(diǎn)) * 計(jì)算兩個(gè)點(diǎn)的距離 * 直線的方向 intersection_lines (Row1, Column1, Row2, Column2, RowBegin1, ColBegin1, RowEnd1, ColEnd1, RowA, ColA, IsOverlapping) intersection_lines (Row1, Column1, Row2, Column2, RowBegin2, ColBegin2, RowEnd2, ColEnd2, RowB, ColB, IsOverlapping) distance_pp (RowA, ColA, RowB, ColB, Distance) line_orientation (RowA, ColA, RowB, ColB, Phi) RowCenter := (RowA + RowB) / 2 ColumnCenter := (ColA + ColB) / 2 return ()

主函數(shù) main

* * 1.初始化程序 dev_close_window () dev_open_window (0, 0, 768, 576, 'black', WindowHandle) dev_update_off () dev_set_draw ('margin') dev_set_line_width (3) set_display_font (WindowHandle, 14, 'mono', 'true', 'false') * * 2.標(biāo)定相機(jī) * 為一個(gè)區(qū)域掃描相機(jī)生成一個(gè)相機(jī)參數(shù)數(shù)組,該參數(shù)數(shù)組設(shè)置為面陣相機(jī)的Division畸變模型模板: * CameraParam:[Focus, Kappa, Sx, Sy, Cx, Cy, ImageWidth, ImageHeight] CalTabDescrFile := 'caltab_big.descr' gen_cam_par_area_scan_division (0.008, 0, 0.0000086, 0.0000086, 384, 288, 768, 576, StartCamPar) * 創(chuàng)建haclon 標(biāo)定數(shù)據(jù)模型('calibration_object'為標(biāo)定設(shè)置類型,CalibDataID 數(shù)據(jù)模型的句柄 ) * 在標(biāo)定數(shù)據(jù)模型中設(shè)置相機(jī)的類型和初始參數(shù)(StartCamPar 為初始參數(shù)) * 定義在標(biāo)定模型中的標(biāo)定對(duì)象(CalTabDescrFile 描述文件名) create_calib_data ('calibration_object', 1, 1, CalibDataID) set_calib_data_cam_param (CalibDataID, 0, [], StartCamPar) set_calib_data_calib_object (CalibDataID, 0, CalTabDescrFile) * * 3.采圖 NumImages := 10 for I := 1 to NumImages by 1read_image (Image, 'calib/calib-3d-coord-' + I$'02d')dev_display (Image)Message := 'Find calibration plate in\nall calibration images (' + I + '/' + NumImages + ')'disp_message (WindowHandle, Message, 'window', 12, 12, 'black', 'true') ***** 找到halcon 標(biāo)定板,并在標(biāo)定數(shù)據(jù)模型中設(shè)置提取的點(diǎn)和輪廓 ******find_calib_object (Image, CalibDataID, 0, 0, I - 1, [], [])* 從標(biāo)定數(shù)據(jù)模型中查詢存儲(chǔ)或計(jì)算的數(shù)據(jù)(O號(hào)相機(jī)數(shù)據(jù),項(xiàng)目類型-'init_params'表示初始相機(jī)內(nèi)部參數(shù),StartCamPar 初始化數(shù)據(jù))* 從標(biāo)定數(shù)據(jù)模型中獲取基于點(diǎn)的觀測(cè)數(shù)據(jù)(49個(gè)點(diǎn)的坐標(biāo),索引,粗略估計(jì)“被測(cè)校準(zhǔn)物體(標(biāo)定板)”相對(duì)于被測(cè)相機(jī)的姿態(tài))* 從校準(zhǔn)數(shù)據(jù)模型中獲取基于輪廓的觀測(cè)數(shù)據(jù)(標(biāo)定板輪廓,所觀察到的校準(zhǔn)對(duì)象位姿的索引)get_calib_data (CalibDataID, 'camera', 0, 'init_params', StartCamPar)get_calib_data_observ_points (CalibDataID, 0, 0, I - 1, Row, Column, Index, Pose)get_calib_data_observ_contours (Contours, CalibDataID, 'caltab', 0, 0, I - 1)* 標(biāo)出圓形坐標(biāo)點(diǎn)-畫叉gen_cross_contour_xld (Cross, Row, Column, 6, 0.785398)dev_set_color ('green')dev_display (Contours)dev_set_color ('yellow')dev_display (Cross) endfor disp_continue_message (WindowHandle, 'black', 'true') stop () * *** 通過(guò)同時(shí)最小化處理 確定所有相機(jī)參數(shù)(Error:優(yōu)化的反投影均方根誤差(RMSE)*** calibrate_cameras (CalibDataID, Error) * 從標(biāo)定數(shù)據(jù)模型中查詢存儲(chǔ)或計(jì)算的數(shù)據(jù)(0號(hào)相機(jī)的數(shù)據(jù),項(xiàng)目類型-'params'表示優(yōu)化后的相機(jī)內(nèi)部參數(shù),CamParam 輸出數(shù)據(jù)) get_calib_data (CalibDataID, 'camera', 0, 'params', CamParam) * ******** 4.Perform measurements 驗(yàn)證(1D 尺寸測(cè)量) ******** * for I := 1 to NumImages by 1read_image (Image, 'calib/calib-3d-coord-' + I$'02d')* ** 一、現(xiàn)在,測(cè)量標(biāo)定板的黑邊的長(zhǎng)度:* I-索引號(hào); PlateRegion-標(biāo)定板區(qū)域;Distance-垂直邊框的距離;* Phi-公垂線的方向;RowCenter/ColumnCenter-table中心點(diǎn)坐標(biāo);* 生成一個(gè)矩形的XLD輪廓。get_measure_positions (Image, PlateRegion, CalibDataID, I, Distance, Phi, RowCenter, ColumnCenter)gen_rectangle2_contour_xld (Rectangle, RowCenter, ColumnCenter, Phi, Distance * 0.52, 8)*** 二、一維尺寸測(cè)量:* 1.設(shè)置測(cè)量區(qū)域:準(zhǔn)備提取垂直于矩形的直邊(MeasureHandle——測(cè)量矩形對(duì)象句柄)* 2.找尋你設(shè)定檢測(cè)區(qū)域內(nèi)的邊緣:提取垂直于矩形或環(huán)形弧的直邊* (Amplitude-指定的是一個(gè)縮放,通過(guò)邊界的坐標(biāo)加上縮放的計(jì)算,可以計(jì)算出確切的距離就存在Distance里)* 3.刪除一個(gè)測(cè)量對(duì)象gen_measure_rectangle2 (RowCenter, ColumnCenter, Phi, Distance * 0.52, 8, 768, 576, 'nearest_neighbor', MeasureHandle) measure_pos (Image, MeasureHandle, 1, 40, 'all', 'all', RowEdge, ColumnEdge, Amplitude, Distance1)close_measure (MeasureHandle)Rows := [RowEdge[0],RowEdge[|RowEdge| - 1]]Columns := [ColumnEdge[0],ColumnEdge[|RowEdge| - 1]]gen_cross_contour_xld (Cross, Rows, Columns, 16, Phi)*** 三、轉(zhuǎn)換坐標(biāo):(相機(jī)坐標(biāo)系->世界坐標(biāo)系的轉(zhuǎn)化)* 查詢標(biāo)定數(shù)據(jù)(所有標(biāo)定對(duì)象的總體姿態(tài)或特定的標(biāo)定對(duì)象姿態(tài)的數(shù)據(jù) * 通過(guò)選擇DataName中的以下參數(shù),您可以查詢?cè)谟蒫alibrate_cameras執(zhí)行標(biāo)定期間,* 哪些標(biāo)定對(duì)象位姿參數(shù)得到了(或已經(jīng)得到了)優(yōu)化)* 'pose'——優(yōu)化標(biāo)定對(duì)象位姿,相對(duì)于當(dāng)前參考相機(jī)get_calib_data (CalibDataID, 'calib_obj_pose', [0,I - 1], 'pose', Pose)* 將兩個(gè)邊界點(diǎn)轉(zhuǎn)換為世界坐標(biāo)系* 計(jì)算兩點(diǎn)的距離image_points_to_world_plane (CamParam, Pose, Rows, Columns, 'm', SX, SY)distance_pp (SY[0], SX[0], SY[1], SX[1], Width)* ** 四、顯示寬度測(cè)量結(jié)果dev_display (Image)dev_set_color ('white')dev_set_line_width (3)dev_display (Rectangle)dev_set_color ('green')dev_set_draw ('fill')dev_set_line_width (2)dev_display (Cross)dev_set_draw ('margin')* 寬度顯示disp_message (WindowHandle, 'Width = ' + (Width * 100)$'8.3f' + 'cm', 'window', 12, 12, 'black', 'true')disp_continue_message (WindowHandle, 'black', 'true')stop ()* ** 五、現(xiàn)在,測(cè)量標(biāo)定標(biāo)記(標(biāo)定板上的標(biāo)定點(diǎn))的大小 * 提取圖像中的橢圓erosion_circle (PlateRegion, ROI, 17.5)reduce_domain (Image, ROI, ImageReduced)*使用Deriche, Lanser, Shen或Canny過(guò)濾器提取亞像素精確的邊緣edges_sub_pix (ImageReduced, Edges, 'canny', 1, 20, 60)select_contours_xld (Edges, SelectedEdges, 'contour_length', 20, 99999999, -0.5, 0.5)* Fit ellipses to extracted edges 將橢圓匹配到提取的邊緣* 由橢圓或橢圓弧構(gòu)成的近似的XLD輪廓(輸出橢圓參數(shù))fit_ellipse_contour_xld (SelectedEdges, 'fitzgibbon', -1, 2, 0, 200, 3, 2, Row, Column, Phi, Radius1, Radius2, StartPhi, EndPhi, PointOrder)MeanRadius1 := mean(Radius1)MeanRadius2 := mean(Radius2)DevRadius1 := deviation(Radius1)DevRadius2 := deviation(Radius2)** 將橢圓轉(zhuǎn)換為世界坐標(biāo),它們應(yīng)該是圓,并將圓從米轉(zhuǎn)換為毫米,這樣我們就可以看到它們。contour_to_world_plane_xld (SelectedEdges, WorldCircles, CamParam, Pose, 'mm')* Fit ellipses to the circles in world coordinates 在世界坐標(biāo)中將橢圓與圓匹配fit_ellipse_contour_xld (WorldCircles, 'fitzgibbon', -1, 2, 0, 200, 3, 2, Row, Column, Phi, RadiusW1, RadiusW2, StartPhi, EndPhi, PointOrder)MeanRadiusW1 := mean(RadiusW1)MeanRadiusW2 := mean(RadiusW2)DevRadiusW1 := deviation(RadiusW1)DevRadiusW2 := deviation(RadiusW2)* * 顯示橢圓測(cè)量結(jié)果dev_display (Image)dev_set_color ('yellow')dev_set_line_width (3)dev_display (SelectedEdges)Message := 'Measured dimensions of the ellipses'Message[0] := ' Mean Radius1; Mean Radius2; (Standard deviations [%])'Message[1] := 'Image coordinates: ' + MeanRadius1$'5.2f' + 'px; ' + MeanRadius2$'5.2f' + 'px (' + (DevRadius1 / MeanRadius1 * 100)$'4.2f' + ', ' + (DevRadius2 / MeanRadius2 * 100)$'4.2f' + ')'Message[2] := 'World coordinates: ' + (MeanRadiusW1 / 10)$'5.2f' + 'cm; ' + (MeanRadiusW2 / 10)$'5.2f' + 'cm (' + (DevRadiusW1 / MeanRadiusW1 * 100)$'4.2f' + ', ' + (DevRadiusW2 / MeanRadiusW2 * 100)$'4.2f' + ')'disp_message (WindowHandle, Message, 'window', 12, 12, 'black', 'true')if (I < 10)disp_continue_message (WindowHandle, 'black', 'true')stop ()endif endfor clear_calib_data (CalibDataID)

結(jié)果:
1.read_image

2.find_calib_object 填充標(biāo)定數(shù)據(jù)模型

3.calibrate_cameras (CalibDataID, Error) 矯正所有相機(jī)參數(shù)

4.驗(yàn)證相機(jī)標(biāo)定結(jié)果:通過(guò) 1D mesuring

  • 1)get_measure_positions 找到需要測(cè)量區(qū)域的位姿(位置和方向)
  • 2)gen_measure_rectangle2 設(shè)置測(cè)量區(qū)域
  • 3)measure_pos 找尋你設(shè)定檢測(cè)區(qū)域內(nèi)的邊緣:提取垂直于矩形的所有直邊
  • 4)image_points_to_world_plane 轉(zhuǎn)換坐標(biāo):(相機(jī)坐標(biāo)系->世界坐標(biāo)系的轉(zhuǎn)化)


    5)測(cè)量標(biāo)記點(diǎn)的大小:
  • Radius1 ,Radius2 橢圓長(zhǎng)短 半徑


8.參考算子介紹

  • HALCON 1D Measure 算子初識(shí)
  • 一維測(cè)量中measure_pos和measure_pairs算子

總結(jié)

以上是生活随笔為你收集整理的Halcon学习笔记:Halcon标定步骤-3d_coordinates.hdev示例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久综合久久鬼 | 亚洲天堂网在线观看 | 欧美视频在线观看一区二区 | 国产伦精品一区二区三区视频女 | 禁断介护av | 日韩小视频网站 | 在线欧美日韩 | 91精品毛片| 中文文字幕一区二区三三 | 丁香花高清视频完整电影 | 国产午夜福利精品 | 成人精品亚洲 | 色呦呦网站入口 | 日韩免费不卡视频 | 国模私拍视频在线 | 一级黄色片免费观看 | 久久99精品国产麻豆婷婷 | mm131亚洲精品 | 在线看v片 | 国产极品美女高潮无套嗷嗷叫酒店 | 色屁屁 | 蜜臀久久精品久久久久 | 成人传媒| 久久精品国产99国产 | 18成人免费观看视频 | 欧美在线视频不卡 | 大尺度舌吻呻吟声 | 超污巨黄的小短文 | 我要看免费黄色片 | 亚洲精品久久久久久国产精华液 | 中文字幕在线一区二区三区 | 日本少妇aaa | 91亚洲精品在线观看 | 国产农村妇女毛片精品久久麻豆 | 精品黄色片 | 久艹在线观看 | 自拍视频在线播放 | www在线观看国产 | 把高贵美妇调教成玩物 | 新超碰97| av网子| 日韩成人福利 | 外国a级片| 午夜xxxx| 欧美天天影院 | 成年人网站在线免费观看 | 久久精品一二三 | 91成人免费在线观看视频 | 国内精品久久久久久久影视简单 | 天堂网一区二区 | 94av| 欧美性生活一区二区 | 涩涩涩在线视频 | 日本高清视频在线播放 | 九九久久国产精品 | 亚洲日本成人在线观看 | 在线观看911视频 | 亚洲最大在线观看 | 亚洲av无码一区二区三区在线 | www天天操 | 国产色区 | 久久久久亚洲av无码网站 | 国产黄频在线观看 | 成人av网址在线 | 国产成人精品视频在线 | 国产中文一区 | 日韩成人午夜 | 国产精品美女久久久久av超清 | 极品尤物一区二区三区 | 国内精久久久久久久久久人 | 无码一区二区 | 国产最新自拍视频 | 欧美无人区码suv | 国产成人精品一区二区在线观看 | 色婷婷久久五月综合成人 | 亚洲午夜av久久乱码 | 欧美激情不卡 | 91看片网页版 | 超碰caoporen| 裸体男女树林做爰 | av片在线看| 中文字幕精品无 | 成人午夜电影网站 | 欧美性天天 | 亚洲欧美精品 | 中国特级黄色大片 | 久草高清| 成人免费黄色 | 午夜寂寞福利 | 自拍偷拍在线视频 | 最新黄网| 99riav1国产精品视频 | 综合色天天 | 激情成人综合网 | 日本大乳奶做爰 | 麻豆精品视频免费观看 | 99久久精品一区二区三区 | 天堂网一区二区 | 国产五月 |