日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OpenCV角点检测之Harris角点检测

發布時間:2025/5/22 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenCV角点检测之Harris角点检测 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本篇文章中,我們一起探討了OpenCV中Harris角點檢測相關的知識點,學習了OpenCV中實現Harris角點檢測的cornerHarris函數的使用方法。此博文一共有兩個配套的麻雀雖小但五臟俱全的示例程序,其經過淺墨詳細注釋過的代碼都在文中貼出,且文章最后提供了綜合示例程序的下載。

依然是先看看程序運行截圖:

?

?





一、引言:關于興趣點(interest points)

?



在圖像處理和與計算機視覺領域,興趣點(interest points),或稱作關鍵點(keypoints)、特征點(feature points) 被大量用于解決物體識別,圖像識別、圖像匹配、視覺跟蹤、三維重建等一系列的問題。我們不再觀察整幅圖,而是選擇某些特殊的點,然后對他們進行局部有的放矢的分析。如果能檢測到足夠多的這種點,同時他們的區分度很高,并且可以精確定位穩定的特征,那么這個方法就有使用價值。

?

圖像特征類型可以被分為如下三種:

  • <1>邊緣
  • <2>角點 (感興趣關鍵點)
  • <3>斑點(Blobs)(感興趣區域)

其中,角點是個很特殊的存在。他們在圖像中可以輕易地定位,同時,他們在人造物體場景,比如門、窗、桌等出隨處可見。因為角點位于兩條邊緣的交點處,代表了兩個邊緣變化的方向上的點,,所以他們是可以精確定位的二維特征,甚至可以達到亞像素的精度。且其圖像梯度有很高的變化,這種變化是可以用來幫助檢測角點的。需要注意的是,角點與位于相同強度區域上的點不同,與物體輪廓上的點也不同,因為輪廓點難以在相同的其他物體上精確定位。

?

?




二、角點檢測算法的分類




在當前的圖像處理領域,角點檢測算法可歸納為三類:


  • <1>基于灰度圖像的角點檢測
  • <2>基于二值圖像的角點檢測
  • <3>基于輪廓曲線的角點檢測

而基于灰度圖像的角點檢測又可分為基于梯度、基于模板和基于模板梯度組合三類方法,其中基于模板的方法主要考慮像素領域點的灰度變化,即圖像亮度的變化,將與鄰點亮度對比足夠大的點定義為角點。常見的基于模板的角點檢測算法有Kitchen-Rosenfeld角點檢測算法,Harris角點檢測算法、KLT角點檢測算法及SUSAN角點檢測算法。和其他角點檢測算法相比,SUSAN角點檢測算法具有算法簡單、位置準確、抗噪聲能力強等特點。





三、角點的定義



“如果某一點在任意方向的一個微小變動都會引起灰度很大的變化,那么我們就把它稱之為角點”

角點檢測(Corner Detection)是計算機視覺系統中用來獲得圖像特征的一種方法,廣泛應用于運動檢測、圖像匹配、視頻跟蹤、三維建模和目標識別等領域中。也稱為特征點檢測。

角點通常被定義為兩條邊的交點,更嚴格的說,角點的局部鄰域應該具有兩個不同區域的不同方向的邊界。而實際應用中,大多數所謂的角點檢測方法檢測的是擁有特定特征的圖像點,而不僅僅是“角點”。這些特征點在圖像中有具體的坐標,并具有某些數學特征,如局部最大或最小灰度、某些梯度特征等。

現有的角點檢測算法并不是都十分的健壯。很多方法都要求有大量的訓練集和冗余數據來防止或減少錯誤特征的出現。另外,角點檢測方法的一個很重要的評價標準是其對多幅圖像中相同或相似特征的檢測能力,并且能夠應對光照變化、圖像旋轉等圖像變化。

在我們解決問題時,往往希望找到特征點,“特征”顧名思義,指能描述物體本質的東西,還有一種解釋就是這個特征微小的變化都會對物體的某一屬性產生重大的影響。而角點就是這樣的特征。

觀察日常生活中的“角落”就會發現,“角落”可以視為所有平面的交匯處,或者說是所有表面的發起處。假設我們要改變一個墻角的位置,那么由它而出發的平面勢必都要有很大的變化。所以,這就引出了圖像角點的定義。


我們知道,特征檢測與匹配是計算機視覺應用中非常重要的一部分,這需要尋找圖像之間的特征建立對應關系。圖像中的點作為圖像的特殊位置,是很常用的一類特征,點的局部特征也可以叫做“關鍵特征點”(keypoint feature),或“興趣點”(interest point),或“角點”(conrner)。

?

另外,關于角點的具體描述可以有幾種:

  • 一階導數(即灰度的梯度)的局部最大所對應的像素點;
  • 兩條及兩條以上邊緣的交點;
  • 圖像中梯度值和梯度方向的變化速率都很高的點;
  • 角點處的一階導數最大,二階導數為零,指示物體邊緣變化不連續的方向。

?

?

?


四、cornerHarris函數詳解



cornerHarris 函數用于在OpenCV中運行Harris角點檢測算子處理圖像。和cornerMinEigenVal( )以及cornerEigenValsAndVecs( )函數類似,cornerHarris 函數對于每一個像素(x,y)在鄰域內,計算2x2梯度的協方差矩陣,接著它計算如下式子:


?

即可以找出輸出圖中的局部最大值,即找出了角點。


其函數原型和參數解析:

[cpp]?view plaincopy print?
  • C++:?void?cornerHarris(InputArray?src,OutputArray?dst,?int?blockSize,?int?ksize,?double?k,?intborderType=BORDER_DEFAULT?)??
    • 第一個參數,InputArray類型的src,輸入圖像,即源圖像,填Mat類的對象即可,且需為單通道8位或者浮點型圖像。
    • 第二個參數,OutputArray類型的dst,函數調用后的運算結果存在這里,即這個參數用于存放Harris角點檢測的輸出結果,和源圖片有一樣的尺寸和類型。
    • 第三個參數,int類型的blockSize,表示鄰域的大小,更多的詳細信息在cornerEigenValsAndVecs()中有講到。
    • 第四個參數,int類型的ksize,表示Sobel()算子的孔徑大小。
    • 第五個參數,double類型的k,Harris參數。
    • 第六個參數,int類型的borderType,圖像像素的邊界模式,注意它有默認值BORDER_DEFAULT。更詳細的解釋,參考borderInterpolate( )函數。

    ?接著我們一起過一遍稍后需要用到的Threshold函數的解析,然后看一個以cornerHarris為核心的示例程序。





    五、Threshold函數詳解

    ?

    ?

    函數Threshold( ) 對單通道數組應用固定閾值操作。該函數的典型應用是對灰度圖像進行閾值操作得到二值圖像。(另外,compare( )函數也可以達到此目的) 或者是去掉噪聲,例如過濾很小或很大象素值的圖像點。


    [cpp]?view plaincopy print?
  • C++:?double?threshold(InputArray?src,OutputArray?dst,?double?thresh,?double?maxval,?int?type)??
    • 第一個參數,InputArray類型的src,輸入數組,填單通道 , 8或32位浮點類型的Mat即可。
    • 第二個參數,OutputArray類型的dst,函數調用后的運算結果存在這里,即這個參數用于存放輸出結果,且和第一個參數中的Mat變量有一樣的尺寸和類型。
    • 第三個參數,double類型的thresh,閾值的具體值。
    • 第四個參數,double類型的maxval,當第五個參數閾值類型type取 CV_THRESH_BINARY 或CV_THRESH_BINARY_INV 閾值類型時的最大值.
    • 第五個參數,int類型的type,閾值類型,。threshold( )函數支持的對圖像取閾值的方法由其確定,具體用法如下圖:


    而圖形化的閾值描述如下圖:


    ??

    講解完這兩個函數,讓我們看一個調用示例程序:

    ?

    [cpp]?view plaincopy print?
  • //-----------------------------------【頭文件包含部分】---------------------------------------????
  • //??????描述:包含程序所依賴的頭文件????
  • //----------------------------------------------------------------------------------------------?????
  • #include?<opencv2/opencv.hpp>????
  • #include?<opencv2/imgproc/imgproc.hpp>????
  • ??
  • //-----------------------------------【命名空間聲明部分】---------------------------------------????
  • //??????描述:包含程序所使用的命名空間????
  • //-----------------------------------------------------------------------------------------------?????
  • using?namespace?cv;????
  • ??
  • int?main()????
  • {????
  • ????//以灰度模式載入圖像并顯示??
  • ????Mat?srcImage?=?imread("1.jpg",?0);????
  • ????imshow("原始圖",?srcImage);????
  • ??
  • ????//進行Harris角點檢測找出角點??
  • ????Mat?cornerStrength;????
  • ????cornerHarris(srcImage,?cornerStrength,?2,?3,?0.01);??
  • ??
  • ????//對灰度圖進行閾值操作,得到二值圖并顯示????
  • ????Mat?harrisCorner;????
  • ????threshold(cornerStrength,?harrisCorner,?0.00001,?255,?THRESH_BINARY);????
  • ????imshow("角點檢測后的二值效果圖",?harrisCorner);????
  • ??
  • ????waitKey(0);????
  • ????return?0;????
  • }????

  • 運行截圖:

    ???


    ?

    ?

    ?

    ?

    ?

    六、本文相關核心函數在OpenCV中的實現源代碼

    ?


    這個部分貼出OpenCV中本文相關函數的源碼實現細節,來給想了解實現細節的小伙伴們參考。淺墨暫時不在源碼的細節上挖深作詳細注釋。


    ?

    6.1 OpenCV2.X中cornerHarris函數源代碼


    源碼路徑: …opencv\sources\modules\imgproc\src\corner.cpp

    ?

    [cpp]?view plaincopy print?
  • void?cv::cornerHarris(?InputArray?_src,OutputArray?_dst,?int?blockSize,?int?ksize,?double?k,?int?borderType?)??
  • {??
  • ???Mat?src?=?_src.getMat();??
  • ???_dst.create(?src.size(),?CV_32F?);??
  • ???Mat?dst?=?_dst.getMat();??
  • ???cornerEigenValsVecs(?src,?dst,?blockSize,?ksize,?HARRIS,?k,?borderType);??
  • }??
  • ?

    可見cornerHarris內部其實是調用了cornerEigenValsVecs函數,我們看看其實現源碼:

    ?

    [cpp]?view plaincopy print?
  • static?void??
  • cornerEigenValsVecs(?const?Mat&?src,Mat&?eigenv,?int?block_size,??
  • ?????????????????????int?aperture_size,?intop_type,?double?k=0.,??
  • ?????????????????????intborderType=BORDER_DEFAULT?)??
  • {??
  • #ifdef?HAVE_TEGRA_OPTIMIZATION??
  • ???if?(tegra::cornerEigenValsVecs(src,?eigenv,?block_size,?aperture_size,op_type,?k,?borderType))??
  • ???????return;??
  • #endif??
  • ???
  • ???int?depth?=?src.depth();??
  • ???double?scale?=?(double)(1?<<?((aperture_size?>?0??aperture_size?:?3)?-?1))?*?block_size;??
  • ???if(?aperture_size?<?0?)??
  • ???????scale?*=?2.;??
  • ???if(?depth?==?CV_8U?)??
  • ???????scale?*=?255.;??
  • ???scale?=?1./scale;??
  • ???
  • ???CV_Assert(?src.type()?==?CV_8UC1?||?src.type()?==?CV_32FC1?);??
  • ???
  • ???Mat?Dx,?Dy;??
  • ???if(?aperture_size?>?0?)??
  • ????{??
  • ???????Sobel(?src,?Dx,?CV_32F,?1,?0,?aperture_size,?scale,?0,?borderType?);??
  • ???????Sobel(?src,?Dy,?CV_32F,?0,?1,?aperture_size,?scale,?0,?borderType?);??
  • ????}??
  • ???else??
  • ????{??
  • ???????Scharr(?src,?Dx,?CV_32F,?1,?0,?scale,?0,?borderType?);??
  • ???????Scharr(?src,?Dy,?CV_32F,?0,?1,?scale,?0,?borderType?);??
  • ????}??
  • ???
  • ???Size?size?=?src.size();??
  • ???Mat?cov(?size,?CV_32FC3?);??
  • ???int?i,?j;??
  • ???
  • ???for(?i?=?0;?i?<?size.height;?i++?)??
  • ????{??
  • ???????float*?cov_data?=?(float*)(cov.data?+?i*cov.step);??
  • ???????const?float*?dxdata?=?(const?float*)(Dx.data?+?i*Dx.step);??
  • ???????const?float*?dydata?=?(const?float*)(Dy.data?+?i*Dy.step);??
  • ???
  • ????????for(?j?=?0;?j?<?size.width;?j++?)??
  • ???????{??
  • ???????????float?dx?=?dxdata[j];??
  • ???????????float?dy?=?dydata[j];??
  • ???
  • ???????????cov_data[j*3]?=?dx*dx;??
  • ???????????cov_data[j*3+1]?=?dx*dy;??
  • ???????????cov_data[j*3+2]?=?dy*dy;??
  • ???????}??
  • ????}??
  • ???
  • ???boxFilter(cov,?cov,?cov.depth(),?Size(block_size,?block_size),??
  • ???????Point(-1,-1),?false,?borderType?);??
  • ???
  • ???if(?op_type?==?MINEIGENVAL?)??
  • ???????calcMinEigenVal(?cov,?eigenv?);??
  • ???else?if(?op_type?==?HARRIS?)??
  • ???????calcHarris(?cov,?eigenv,?k?);??
  • ???else?if(?op_type?==?EIGENVALSVECS?)??
  • ???????calcEigenValsVecs(?cov,?eigenv?);??
  • }??
  • ???
  • }??


  • ?

    ?

    6.1 OpenCV2.X中Threshold函數源代碼


    路徑:…opencv\sources\modules\imgproc\src\thresh.cpp

    ?

    [cpp]?view plaincopy print?
  • double?cv::threshold(?InputArray?_src,OutputArray?_dst,?double?thresh,?double?maxval,?int?type?)??
  • {??
  • ???Mat?src?=?_src.getMat();??
  • ???bool?use_otsu?=?(type?&?THRESH_OTSU)?!=?0;??
  • ????type?&=?THRESH_MASK;??
  • ???
  • ???if(?use_otsu?)??
  • ????{??
  • ???????CV_Assert(?src.type()?==?CV_8UC1?);??
  • ???????thresh?=?getThreshVal_Otsu_8u(src);??
  • ????}??
  • ???
  • ???_dst.create(?src.size(),?src.type()?);??
  • ???Mat?dst?=?_dst.getMat();??
  • ???
  • ???if(?src.depth()?==?CV_8U?)??
  • ????{??
  • ????????int?ithresh?=?cvFloor(thresh);??
  • ???????thresh?=?ithresh;??
  • ???????int?imaxval?=?cvRound(maxval);??
  • ???????if(?type?==?THRESH_TRUNC?)??
  • ???????????imaxval?=?ithresh;??
  • ???????imaxval?=?saturate_cast<uchar>(imaxval);??
  • ???
  • ???????if(?ithresh?<?0?||?ithresh?>=?255?)??
  • ???????{??
  • ???????????if(?type?==?THRESH_BINARY?||?type?==?THRESH_BINARY_INV?||??
  • ????????????????((type?==?THRESH_TRUNC?||?type==?THRESH_TOZERO_INV)?&&?ithresh?<?0)?||??
  • ????????????????(type?==?THRESH_TOZERO&&?ithresh?>=?255)?)??
  • ???????????{??
  • ???????????????int?v?=?type?==THRESH_BINARY???(ithresh?>=?255???0?:?imaxval)?:??
  • ????????????????????????type?==THRESH_BINARY_INV???(ithresh?>=?255???imaxval?:?0)?:??
  • ????????????????????????/*type?==?THRESH_TRUNC??imaxval?:*/?0;??
  • ????????????????dst.setTo(v);??
  • ????????????}??
  • ???????????else??
  • ????????????????src.copyTo(dst);??
  • ???????????return?thresh;??
  • ???????}??
  • ???????thresh?=?ithresh;??
  • ???????maxval?=?imaxval;??
  • ????}??
  • ???else?if(?src.depth()?==?CV_16S?)??
  • ????{??
  • ???????int?ithresh?=?cvFloor(thresh);??
  • ???????thresh?=?ithresh;??
  • ???????int?imaxval?=?cvRound(maxval);??
  • ???????if(?type?==?THRESH_TRUNC?)??
  • ???????????imaxval?=?ithresh;??
  • ???????imaxval?=?saturate_cast<short>(imaxval);??
  • ???
  • ???????if(?ithresh?<?SHRT_MIN?||?ithresh?>=?SHRT_MAX?)??
  • ???????{??
  • ???????????if(?type?==?THRESH_BINARY?||?type?==?THRESH_BINARY_INV?||??
  • ???????????????((type?==?THRESH_TRUNC?||?type==?THRESH_TOZERO_INV)?&&?ithresh?<?SHRT_MIN)?||??
  • ???????????????(type?==?THRESH_TOZERO&&?ithresh?>=?SHRT_MAX)?)??
  • ???????????{??
  • ????????????????int?v?=?type?==?THRESH_BINARY??(ithresh?>=?SHRT_MAX???0?:?imaxval)?:??
  • ????????????????type?==?THRESH_BINARY_INV??(ithresh?>=?SHRT_MAX???imaxval?:?0)?:??
  • ????????????????/*type?==?THRESH_TRUNC??imaxval?:*/?0;??
  • ????????????????dst.setTo(v);??
  • ???????????}??
  • ???????????else??
  • ???????????????src.copyTo(dst);??
  • ???????????return?thresh;??
  • ???????}??
  • ???????thresh?=?ithresh;??
  • ???????maxval?=?imaxval;??
  • ????}??
  • ???else?if(?src.depth()?==?CV_32F?)??
  • ???????;??
  • ???else??
  • ???????CV_Error(?CV_StsUnsupportedFormat,?""?);??
  • ???
  • ???parallel_for_(Range(0,?dst.rows),??
  • ??????????????????ThresholdRunner(src,?dst,thresh,?maxval,?type),??
  • ?????????????????dst.total()/(double)(1<<16));??
  • ???return?thresh;??
  • }??


  • 另外在貼上與之相關的自適應閾值操作函數的源碼adaptiveThreshold:

    ?

    [cpp]?view plaincopy print?
  • void?cv::adaptiveThreshold(?InputArray_src,?OutputArray?_dst,?double?maxValue,??
  • ????????????????????????????int?method,?inttype,?int?blockSize,?double?delta?)??
  • {??
  • ???Mat?src?=?_src.getMat();??
  • ???CV_Assert(?src.type()?==?CV_8UC1?);??
  • ???CV_Assert(?blockSize?%?2?==?1?&&?blockSize?>?1?);??
  • ???Size?size?=?src.size();??
  • ???
  • ???_dst.create(?size,?src.type()?);??
  • ???Mat?dst?=?_dst.getMat();??
  • ???
  • ???if(?maxValue?<?0?)??
  • ????{??
  • ???????dst?=?Scalar(0);??
  • ???????return;??
  • ????}??
  • ???
  • ???Mat?mean;??
  • ???
  • ???if(?src.data?!=?dst.data?)??
  • ???????mean?=?dst;??
  • ???
  • ???if(?method?==?ADAPTIVE_THRESH_MEAN_C?)??
  • ???????boxFilter(?src,?mean,?src.type(),?Size(blockSize,?blockSize),??
  • ???????????????????Point(-1,-1),?true,BORDER_REPLICATE?);??
  • ???else?if(?method?==?ADAPTIVE_THRESH_GAUSSIAN_C?)??
  • ???????GaussianBlur(?src,?mean,?Size(blockSize,?blockSize),?0,?0,BORDER_REPLICATE?);??
  • ???else??
  • ???????CV_Error(?CV_StsBadFlag,?"Unknown/unsupported?adaptive?thresholdmethod"?);??
  • ???
  • ???int?i,?j;??
  • ???uchar?imaxval?=?saturate_cast<uchar>(maxValue);??
  • ???int?idelta?=?type?==?THRESH_BINARY???cvCeil(delta)?:?cvFloor(delta);??
  • ???uchar?tab[768];??
  • ???
  • ???if(?type?==?CV_THRESH_BINARY?)??
  • ???????for(?i?=?0;?i?<?768;?i++?)??
  • ???????????tab[i]?=?(uchar)(i?-?255?>?-idelta???imaxval?:?0);??
  • ???else?if(?type?==?CV_THRESH_BINARY_INV?)??
  • ???????for(?i?=?0;?i?<?768;?i++?)??
  • ???????????tab[i]?=?(uchar)(i?-?255?<=?-idelta???imaxval?:?0);??
  • ???else??
  • ???????CV_Error(?CV_StsBadFlag,?"Unknown/unsupported?threshold?type");??
  • ???
  • ???if(?src.isContinuous()?&&?mean.isContinuous()?&&dst.isContinuous()?)??
  • ????{??
  • ???????size.width?*=?size.height;??
  • ???????size.height?=?1;??
  • ????}??
  • ???
  • ???for(?i?=?0;?i?<?size.height;?i++?)??
  • ????{??
  • ???????const?uchar*?sdata?=?src.data?+?src.step*i;??
  • ???????const?uchar*?mdata?=?mean.data?+?mean.step*i;??
  • ???????uchar*?ddata?=?dst.data?+?dst.step*i;??
  • ???
  • ???????for(?j?=?0;?j?<?size.width;?j++?)??
  • ???????????ddata[j]?=?tab[sdata[j]?-?mdata[j]?+?255];??
  • ????}??
  • }??


  • ?

    ?



    七、綜合示例部分




    本次綜合示例為調節滾動條來控制閾值,以控制的harris檢測角點的數量。一共有三個圖片窗口,分別為顯示原始圖的窗口,包含滾動條的彩色效果圖窗口,以及灰度圖效果圖窗口。

    廢話不多說,讓我們一起來欣賞詳細注釋過后的完整源代碼:

    ?

    [cpp]?view plaincopy print?
  • //-----------------------------------【程序說明】----------------------------------------------??
  • //??????程序名稱::《【OpenCV入門教程之十六】OpenCV角點檢測之Harris角點檢測》?博文配套源碼???
  • //??????開發所用IDE版本:Visual?Studio?2010??
  • //??????開發所用OpenCV版本:???2.4.9??
  • //??????2014年6月8日?Created?by?淺墨??
  • //??????淺墨的微博:@淺墨_毛星云?http://weibo.com/1723155442??
  • //??????淺墨的知乎:http://www.zhihu.com/people/mao-xing-yun??
  • //??????淺墨的豆瓣:http://www.douban.com/people/53426472/??
  • //----------------------------------------------------------------------------------------------??
  • ??
  • //-----------------------------------【頭文件包含部分】---------------------------------------??
  • //??????描述:包含程序所依賴的頭文件??
  • //----------------------------------------------------------------------------------------------???
  • #include?<opencv2/opencv.hpp>??
  • #include?"opencv2/highgui/highgui.hpp"??
  • #include?"opencv2/imgproc/imgproc.hpp"??
  • ??
  • //-----------------------------------【命名空間聲明部分】--------------------------------------??
  • //??????描述:包含程序所使用的命名空間??
  • //-----------------------------------------------------------------------------------------------???
  • using?namespace?cv;??
  • using?namespace?std;??
  • ??
  • //-----------------------------------【宏定義部分】--------------------------------------------????
  • //??描述:定義一些輔助宏????
  • //------------------------------------------------------------------------------------------------????
  • #define?WINDOW_NAME1?"【程序窗口1】"????????//為窗口標題定義的宏????
  • #define?WINDOW_NAME2?"【程序窗口2】"????????//為窗口標題定義的宏????
  • ??
  • //-----------------------------------【全局變量聲明部分】--------------------------------------??
  • //??????描述:全局變量聲明??
  • //-----------------------------------------------------------------------------------------------??
  • Mat?g_srcImage,?g_srcImage1,g_grayImage;??
  • int?thresh?=?30;?//當前閾值??
  • int?max_thresh?=?175;?//最大閾值??
  • ??
  • ??
  • //-----------------------------------【全局函數聲明部分】--------------------------------------??
  • //??????描述:全局函數聲明??
  • //-----------------------------------------------------------------------------------------------??
  • void?on_CornerHarris(?int,?void*?);//回調函數??
  • static?void?ShowHelpText();??
  • ??
  • //-----------------------------------【main(?)函數】--------------------------------------------??
  • //??????描述:控制臺應用程序的入口函數,我們的程序從這里開始執行??
  • //-----------------------------------------------------------------------------------------------??
  • int?main(?int?argc,?char**?argv?)??
  • {??
  • ????//【0】改變console字體顏色??
  • ????system("color?3F");????
  • ??
  • ????//【0】顯示幫助文字??
  • ????ShowHelpText();??
  • ??
  • ????//【1】載入原始圖并進行克隆保存??
  • ????g_srcImage?=?imread(?"1.jpg",?1?);??
  • ?????if(!g_srcImage.data?)?{?printf("讀取圖片錯誤,請確定目錄下是否有imread函數指定的圖片存在~!?\n");?return?false;?}????
  • ?????imshow("原始圖",g_srcImage);??
  • ????g_srcImage1=g_srcImage.clone(?);??
  • ??
  • ????//【2】存留一張灰度圖??
  • ????cvtColor(?g_srcImage1,?g_grayImage,?CV_BGR2GRAY?);??
  • ??
  • ????//【3】創建窗口和滾動條??
  • ????namedWindow(?WINDOW_NAME1,?CV_WINDOW_AUTOSIZE?);??
  • ????createTrackbar(?"閾值:?",?WINDOW_NAME1,?&thresh,?max_thresh,?on_CornerHarris?);??
  • ??
  • ????//【4】調用一次回調函數,進行初始化??
  • ????on_CornerHarris(?0,?0?);??
  • ??
  • ????waitKey(0);??
  • ????return(0);??
  • }??
  • ??
  • //-----------------------------------【on_HoughLines(?)函數】--------------------------------??
  • //??????描述:回調函數??
  • //----------------------------------------------------------------------------------------------??
  • ??
  • void?on_CornerHarris(?int,?void*?)??
  • {??
  • ????//---------------------------【1】定義一些局部變量-----------------------------??
  • ????Mat?dstImage;//目標圖??
  • ????Mat?normImage;//歸一化后的圖??
  • ????Mat?scaledImage;//線性變換后的八位無符號整型的圖??
  • ??
  • ????//---------------------------【2】初始化---------------------------------------??
  • ????//置零當前需要顯示的兩幅圖,即清除上一次調用此函數時他們的值??
  • ????dstImage?=?Mat::zeros(?g_srcImage.size(),?CV_32FC1?);??
  • ????g_srcImage1=g_srcImage.clone(?);??
  • ??
  • ????//---------------------------【3】正式檢測-------------------------------------??
  • ????//進行角點檢測??
  • ????cornerHarris(?g_grayImage,?dstImage,?2,?3,?0.04,?BORDER_DEFAULT?);??
  • ??
  • ????//?歸一化與轉換??
  • ????normalize(?dstImage,?normImage,?0,?255,?NORM_MINMAX,?CV_32FC1,?Mat()?);??
  • ????convertScaleAbs(?normImage,?scaledImage?);//將歸一化后的圖線性變換成8位無符號整型???
  • ??
  • ????//---------------------------【4】進行繪制-------------------------------------??
  • ????//?將檢測到的,且符合閾值條件的角點繪制出來??
  • ????for(?int?j?=?0;?j?<?normImage.rows?;?j++?)??
  • ????{?for(?int?i?=?0;?i?<?normImage.cols;?i++?)??
  • ????{??
  • ????????if(?(int)?normImage.at<float>(j,i)?>?thresh+80?)??
  • ????????{??
  • ????????????circle(?g_srcImage1,?Point(?i,?j?),?5,??Scalar(10,10,255),?2,?8,?0?);??
  • ????????????circle(?scaledImage,?Point(?i,?j?),?5,??Scalar(0,10,255),?2,?8,?0?);??
  • ????????}??
  • ????}??
  • ????}??
  • ????//---------------------------【4】顯示最終效果---------------------------------??
  • ????imshow(?WINDOW_NAME1,?g_srcImage1?);??
  • ????imshow(?WINDOW_NAME2,?scaledImage?);??
  • ??
  • }??
  • ??
  • //-----------------------------------【ShowHelpText(?)函數】----------------------------------??
  • //??????描述:輸出一些幫助信息??
  • //----------------------------------------------------------------------------------------------??
  • static?void?ShowHelpText()??
  • {??
  • ????//輸出一些幫助信息??
  • ????printf("\n\n\n\t\t\t【歡迎來到Harris角點檢測示例程序~】\n\n");????
  • ????printf("\n\n\n\t請調整滾動條觀察圖像效果~\n\n");??
  • ????printf("\n\n\t\t\t\t\t\t\t\t?by淺墨"??
  • ????????);??
  • }??


  • 放出一些運行效果圖。

    首先是原始圖,非常美麗的異域建筑群:



    第一組閾值效果圖:

    ?

    第二組閾值效果圖:

    ?

    第三組閾值效果圖:

    ?

    第四組閾值效果圖:

    ?




    本篇文章的配套源代碼請點擊這里下載:

    ?

    【淺墨OpenCV入門教程之十六】配套源代碼下載





    OK,今天的內容大概就是這些,我們下篇文章見:)

    總結

    以上是生活随笔為你收集整理的OpenCV角点检测之Harris角点检测的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    亚洲黄色网络 | 日韩动漫免费观看高清完整版在线观看 | 精品国产福利在线 | .国产精品成人自产拍在线观看6 | 亚洲国产高清在线观看视频 | av在线亚洲天堂 | 狠狠88综合久久久久综合网 | 在线观看久 | 黄色av网站在线免费观看 | 午夜久操 | 免费看黄的 | 欧美久草网 | 天天色综合1 | 免费男女网站 | 久久精品视频在线观看 | 九九视频精品在线 | 成年人黄色大片在线 | 欧美成人xxxx | 日韩一区二区三区不卡 | 国产精品久一 | 精品伊人久久久 | 久久精品电影 | 在线观看中文字幕2021 | 日日精品 | 亚洲妇女av | 成人网中文字幕 | 久久国产精品偷 | 欧美午夜性生活 | 国产精品久久久久免费 | 日日夜夜狠狠 | 精品福利视频在线 | 免费国产亚洲视频 | 日韩二区精品 | 怡红院成人在线 | 最新av网站在线观看 | 久久国产成人午夜av影院潦草 | 天堂av高清| 久久精品中文字幕少妇 | 久久久久久国产一区二区三区 | 久久短视频 | 深爱激情五月婷婷 | 亚洲视频在线播放 | 美女在线观看网站 | 国产又粗又长的视频 | 日韩在线短视频 | 天天操比 | 国产我不卡 | 精品成人免费 | 日韩国产精品久久久久久亚洲 | 久草在线费播放视频 | 超碰人人在线观看 | 91桃色在线观看视频 | 色综合天天做天天爱 | 日韩av中文 | 五月天久久久久久 | 超碰在线天天 | 亚洲精品成人av在线 | 在线看黄网站 | 亚洲aⅴ乱码精品成人区 | 久久久久久久看片 | 成人网在线免费视频 | 不卡的av电影| av在线观 | 国产成人精品999在线观看 | 在线激情小视频 | 欧美一区二区在线免费看 | 69夜色精品国产69乱 | 波多野结衣精品视频 | 国产精品美女久久久网av | 国产精品色 | 亚洲成人麻豆 | 亚洲综合色婷婷 | 久久精品欧美 | 婷婷丁香视频 | 五月婷婷激情五月 | 欧美精品在线免费 | 久久99精品国产麻豆宅宅 | 欧美一区二区日韩一区二区 | 天天操综合网 | 婷婷视频在线观看 | 国产在线观看,日本 | 在线免费精品视频 | av大片网址 | 欧美成天堂网地址 | 国产精品密入口果冻 | 欧美在线视频一区二区三区 | 久久精品网站免费观看 | 久久综合狠狠综合久久狠狠色综合 | 国产精品免费观看久久 | 97国产精品亚洲精品 | 欧美一级片免费在线观看 | 色婷婷电影 | 国产专区视频在线观看 | www久久九| 亚洲国产天堂av | 在线观看黄色小视频 | 一区二区电影在线观看 | 美女网站视频免费黄 | 美女久久精品 | 中文字幕免费高 | 欧美日韩高清免费 | 久久久精华网 | 在线免费中文字幕 | 中文字幕av在线免费 | 91在线视频 | 国产一区二区精品 | 久久欧美在线电影 | 国产欧美高清 | 国产精品理论片在线观看 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 亚洲国产av精品毛片鲁大师 | av+在线播放在线播放 | 久热电影 | 欧美午夜寂寞影院 | 亚洲国产精品999 | 日韩精品高清不卡 | 99久久www | 久久99精品久久久久久清纯直播 | 久国产在线播放 | 天天操天天操天天操天天 | 久久免费视频一区 | www.亚洲精品在线 | 99视频在线免费观看 | 国内精品久久久久久久97牛牛 | 国产精品女人网站 | 国产一区二区在线视频观看 | 国产特级毛片aaaaaaa高清 | av短片在线| 日韩一区二区三区观看 | 免费激情网 | 在线日韩亚洲 | 久久人人爽爽 | 蜜桃av久久久亚洲精品 | 国产又黄又硬又爽 | 欧美午夜理伦三级在线观看 | 在线综合 亚洲 欧美在线视频 | 天天色天天综合网 | 97超碰人人澡人人爱学生 | h动漫中文字幕 | 亚洲精品一区二区网址 | 国产天天综合 | 国产精品手机播放 | 久久这里只有精品视频首页 | 麻豆成人精品视频 | 中文字幕在线免费97 | 99草在线视频 | 天堂资源在线观看视频 | 天天人人综合 | 五月天欧美精品 | 久久狠狠干 | 久久成人视屏 | 日本精品二区 | 午夜视频在线网站 | 亚洲精品国精品久久99热一 | 精品久久99 | 久久精品久久久久久久 | 日韩亚洲在线视频 | 日本美女xx | 亚洲精品福利在线观看 | 中文字幕乱在线伦视频中文字幕乱码在线 | 亚洲精品黄色片 | 亚洲成人av片在线观看 | 国产在线一区观看 | 久草视频在线免费 | 精品国产99国产精品 | av天天澡天天爽天天av | 亚洲伊人第一页 | 天天操天天色天天射 | 激情久久综合网 | 精品二区久久 | 国产美女免费视频 | 99久久精品免费看国产免费软件 | 国产精选在线观看 | 欧美成年人在线观看 | 亚洲情影院 | 天天插天天干天天操 | 国产成人一级电影 | 久久久久国产精品午夜一区 | 在线观看国产一区二区 | 中文字幕超清在线免费 | 久草电影在线观看 | a视频在线观看 | 日韩国产在线观看 | 亚洲精品在线视频观看 | 久久久蜜桃 | 91精品国产网站 | 99久久夜色精品国产亚洲96 | 九九九热精品免费视频观看网站 | 欧美粗又大| 18国产精品福利片久久婷 | 福利视频在线看 | 亚洲精品国产精品国自产 | 成人黄色在线播放 | 久艹在线观看视频 | 久久国产视频网 | 久久国产免费视频 | 九九视频一区 | 91精品一区二区三区久久久久久 | 在线激情av电影 | 免费一级日韩欧美性大片 | 日本精品久久久久久 | 美女一区网站 | 啪啪肉肉污av国网站 | 亚洲成年人av | 亚洲涩涩色 | 国产成人精品一区二区在线观看 | 欧美久久久影院 | 操一草| 一区二区激情视频 | 成人免费观看大片 | 国产v在线观看 | av免费线看| 中文字幕超清在线免费 | 狠狠干夜夜爱 | 久久成年人| 国内精品视频一区二区三区八戒 | 天天射天天干天天操 | 免费av在线网站 | 日本性动态图 | 久久精品一区二区国产 | 免费av网站观看 | 日韩精品视频第一页 | 99精品久久只有精品 | 久久婷婷五月综合色丁香 | 国产激情小视频在线观看 | 亚洲国产影院 | 欧美精品网站 | 中文字幕888 | 亚洲一区二区视频 | 激情伊人五月天 | 国产男男gay做爰 | 免费一级特黄毛大片 | 日日干天天射 | 久久综合狠狠综合久久综合88 | 黄色免费av | 日韩免费三级 | 久久综合一本 | 四虎影视精品永久在线观看 | 日本中文一级片 | 久久久在线免费观看 | 天天色天天骑天天射 | 免费观看9x视频网站在线观看 | 免费日韩一区二区 | 日韩激情一二三区 | 天天色天天射天天干 | 丁香在线视频 | 韩国在线视频一区 | 色小说在线 | 国产一区在线免费观看视频 | 日本精品视频一区二区 | 在线观看视频日韩 | 精品久久久久免费极品大片 | 丁香六月久久综合狠狠色 | 91视频 - v11av| 国产精品av免费在线观看 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 久久中文网| 欧美日韩在线观看视频 | 国产偷v国产偷∨精品视频 在线草 | 婷婷色在线播放 | 色视频在线 | 欧美一进一出抽搐大尺度视频 | 99久热在线精品视频成人一区 | 911久久 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 51久久成人国产精品麻豆 | 人人爽人人爽 | 中文字幕超清在线免费 | 免费又黄又爽的视频 | 97超视频| 久久国产精品影片 | 久久字幕精品一区 | 91麻豆网站 | 日韩在线电影 | 日韩中文在线播放 | 极品嫩模被强到高潮呻吟91 | 99久久婷婷国产综合精品 | 欧美极品少妇xxxx | 综合婷婷丁香 | 一区二区视频在线免费观看 | 91九色蝌蚪国产 | 成人夜晚看av | 日韩精品免费专区 | 在线观看亚洲成人 | 99精品国产99久久久久久福利 | 中文字幕色在线视频 | 国产在线欧美在线 | 麻豆影视在线免费观看 | 在线观看中文字幕2021 | 在线成人免费电影 | 国产精品一区二区三区免费看 | 美女网站一区 | 久久精品中文字幕一区二区三区 | 99久久精品免费视频 | 欧美色综合天天久久综合精品 | 国产在线高清视频 | 亚洲精品五月 | 丁香婷婷激情 | 亚洲日本一区二区在线 | 麻花传媒mv免费观看 | 欧美日韩亚洲在线观看 | av一级一片 | 国产精品视频全国免费观看 | 色a综合 | 日韩欧美视频一区二区 | 中文字幕在线网址 | 一区在线观看 | 成人黄色短片 | 久久狠狠一本精品综合网 | 人人看人人草 | 成年人在线免费看视频 | 在线免费观看成人 | 国产一卡久久电影永久 | 精品国产乱码一区二区三区在线 | av中文字幕av | 草在线视频| 婷婷在线免费观看 | 国产视频一区二区在线观看 | 国产精品热视频 | 亚洲成人av在线电影 | 日韩精品视频免费在线观看 | 99re在线视频观看 | 久久99视频 | 999久久久久久 | 国产一级性生活视频 | 日日成人网| 日本高清dvd | 亚洲我射av | 成人av在线直播 | 国产3p视频 | 日韩艹| 国产主播大尺度精品福利免费 | 国产亚洲精品久久19p | 免费看片日韩 | 国产亚洲成av片在线观看 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 亚洲资源在线观看 | 亚洲国产一二三 | 国产精品视频线看 | 久久首页 | 国产精品1区| 四虎在线免费观看 | 中文字幕精品一区 | 日韩 在线观看 | 亚洲欧洲av在线 | 精品在线不卡 | 精品国产电影 | 国产xvideos免费视频播放 | 久久综合精品一区 | 深夜福利视频一区二区 | 国产精品免费看久久久8精臀av | 久久综合免费视频 | 手机在线黄色网址 | 超碰人在线 | 97电影手机 | 亚洲美女免费视频 | 日韩专区一区二区 | 久久丁香| 91高清视频在线 | 国产裸体视频网站 | 国产又粗又硬又爽视频 | 成人黄色av免费在线观看 | 欧美日韩中文字幕综合视频 | 五月婷婷综合在线 | 中文字幕一区二区三 | 丁香花中文字幕 | 国产在线精品一区 | 日韩精品视频免费专区在线播放 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 亚洲欧美综合精品久久成人 | 在线视频福利 | 美女视频网站久久 | av高清免费在线 | 欧美成人视 | 午夜精选视频 | 成人影音av | 一级免费av| 精品一区二区久久久久久久网站 | 麻豆系列在线观看 | 精品无人国产偷自产在线 | 黄色网址国产 | 最新av在线播放 | 国产字幕在线播放 | 中文字幕av在线播放 | 亚洲一区二区三区毛片 | 91在线免费播放 | 波多野结衣小视频 | 日韩精品中文字幕一区二区 | 在线观看的a站 | 国产在线播放观看 | 国产91小视频 | 99热精品国产 | 成年人免费电影在线观看 | 成人av网站在线播放 | 美女很黄免费网站 | 玖玖玖影院 | 欧美日韩视频在线观看免费 | 在线观看日韩一区 | 国产黄大片在线观看 | 在线va网站 | 日p在线观看 | 91大神精品视频在线观看 | 午夜精品久久一牛影视 | 国产成人免费高清 | 国产探花视频在线播放 | 在线中文视频 | 毛片在线播放网址 | 丁香5月婷婷 | 日日夜夜天天久久 | 亚洲成人资源 | 免费的国产精品 | 99久久精品国产一区二区成人 | 在线a人v观看视频 | 深夜免费小视频 | 婷婷精品国产一区二区三区日韩 | 久久色亚洲 | 国产破处在线视频 | 一区二区不卡视频在线观看 | 丁香六月婷婷开心 | 国产护士在线 | jizz18欧美18 | 久草网站在线 | www国产一区 | 999色视频 | 欧美二区三区91 | 亚洲一区不卡视频 | 色婷婷狠 | 免费99精品国产自在在线 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 国产精品久久久久久久久久久久午夜片 | 国产精品一区二区电影 | 五月婷婷欧美 | 国产精品一区二区三区观看 | 亚洲精品视频第一页 | 免费开视频 | 日韩免费福利 | 亚洲国产精品日韩 | 亚洲.www | 欧美日本日韩aⅴ在线视频 插插插色综合 | 五月天天天操 | 九九精品毛片 | 中文字幕在线免费看线人 | 在线影院 国内精品 | 一级精品视频在线观看宜春院 | 国产婷婷vvvv激情久 | 免费看三级 | 欧美一区二区三区四区夜夜大片 | 91视频中文字幕 | 九九热在线精品 | 五月开心色 | 亚洲精品国产精品国自产在线 | 亚洲五月婷 | 久久好看 | 国产操在线 | 久久人人爽人人爽人人片 | 99爱在线观看| 丝袜美腿亚洲 | 国产在线播放观看 | 久久国内免费视频 | 久久不卡日韩美女 | 亚洲欧美日韩不卡 | 久久这里有 | 国产日韩欧美网站 | 成年人av在线播放 | 麻豆视频在线 | 国内精品久久久久久久97牛牛 | 午夜视频99| 国产女做a爱免费视频 | 色婷婷免费视频 | 国产成人精品av在线观 | 欧美a级免费视频 | 欧美日韩精品免费观看 | 91av片 | 国产免费国产 | 欧美一区二区三区特黄 | 久草在线资源视频 | 日本黄色大片免费 | 韩国av一区二区 | 天堂av最新网址 | 精品久久久久久电影 | 国产日本亚洲高清 | 六月丁香婷婷久久 | 亚洲欧洲一区二区在线观看 | 久久久久久久久久久久亚洲 | 91看片在线 | 最近中文字幕免费观看 | 日韩成人免费在线 | 中文字幕精品一区二区三区电影 | 丁香综合 | 99re6热在线精品视频 | 国产精品 欧美 日韩 | 久草色在线观看 | 日韩中文字幕电影 | 免费在线激情电影 | 免费婷婷| av.com在线| 亚洲一区二区精品在线 | 00av视频| 久青草影院| 精品国产一区二区三区日日嗨 | 免费观看第二部31集 | 成年人视频在线 | 视频一区二区在线观看 | 久久老司机精品视频 | 亚洲最新av网址 | 美女网站在线观看 | 在线中文字幕电影 | 国产精品久久久久久久久久尿 | 日韩三级在线 | 最新中文字幕在线播放 | 欧美激情视频一区二区三区免费 | 成年人在线免费看视频 | 日韩高清不卡一区二区三区 | 激情久久影院 | 999男人的天堂| 91在线免费观看国产 | 国内精品免费久久影院 | 国产成人一区二区三区在线观看 | 免费观看日韩av | 蜜臀av性久久久久蜜臀aⅴ四虎 | 欧美日韩精品在线观看 | 天天干天天草 | 国产免费观看久久 | 人人精久 | 激情偷乱人伦小说视频在线观看 | 中文字幕精 | 亚州精品天堂中文字幕 | 国内视频在线观看 | 国产精品视频免费观看 | 亚洲在线视频播放 | 亚洲夜夜网 | 99视频一区二区 | 久久国产精品久久久 | 91九色老 | 在线看国产视频 | 亚洲精品啊啊啊 | 日韩免费在线视频观看 | 久久爱资源网 | 午夜精品久久久99热福利 | 肉色欧美久久久久久久免费看 | 久久最新网址 | 国产亚洲资源 | 91免费版在线 | 友田真希av| 一本色道久久综合亚洲二区三区 | 麻豆视频免费播放 | 99九九热只有国产精品 | 91成人久久 | 久久久国产在线视频 | 日韩在线免费不卡 | 2021国产精品 | 天天av天天 | www.97色.com| 日韩精品免费在线 | 天天综合色天天综合 | 激情五月婷婷综合 | 91精品在线免费视频 | 国产精品一区二区在线 | 美州a亚洲一视本频v色道 | 精品久久在线 | 久草精品视频在线观看 | 国产第一页在线观看 | 九九视频这里只有精品 | 欧美日韩精品国产 | 精品美女在线视频 | 久久久久久国产精品美女 | 亚洲涩涩涩涩涩涩 | 国产视频69| 久久精品久久久久久久 | 欧美精品999 | 欧美激情片在线观看 | av大全在线播放 | 欧美日韩久久一区 | av国产在线观看 | 人人爽久久久噜噜噜电影 | 欧美日韩在线免费观看 | 久久99久久99久久 | 国产精品久久久久久久久久不蜜月 | 欧美久久久久 | 五月天伊人网 | 色爽网站 | 日日精品 | 91精品对白一区国产伦 | 欧美最新另类人妖 | 中文字幕日本特黄aa毛片 | 午夜在线免费视频 | 在线观看视频你懂的 | 色在线国产 | 精品一区二区电影 | 一级黄色在线免费观看 | 免费麻豆视频 | 碰超在线97人人 | 九九久久久久99精品 | 黄色在线观看网站 | 四虎影视成人永久免费观看亚洲欧美 | 国产精品久久久久久久久久 | av线上免费看 | 国产资源精品在线观看 | 偷拍久久久 | 91 在线视频| 国产日产欧美在线观看 | 亚洲国产一区在线观看 | 久久看毛片 | 六月婷色 | 亚洲精品字幕在线 | 成人黄色电影在线观看 | 精品国产91亚洲一区二区三区www | 国产精品福利在线播放 | 免费观看91视频 | 国产精品99久久久久久久久 | 久久er99热精品一区二区三区 | 久久九九久久精品 | 亚洲一区久久 | 国产精品麻豆免费版 | 91久久国产综合精品女同国语 | 人人插人人费 | 国产欧美久久久精品影院 | 日韩成人精品在线观看 | 日本精品久久久一区二区三区 | 日韩动态视频 | 国产日韩中文字幕在线 | av大全在线 | 日韩成人免费在线 | 国产精品女主播一区二区三区 | 亚洲欧美精品一区 | 日韩电影在线观看一区二区三区 | 欧美一性一交一乱 | 黄色不卡av | 日韩精品久久一区二区三区 | 国产精品久久久久999 | 99爱在线| 国产91对白在线 | 久久精品99国产精品酒店日本 | 成人中文字幕av | 欧美成人aa | 日韩精品一区二区在线 | www.色爱| 国产一区国产精品 | 久久综合干 | 一区二区三区精品在线视频 | 免费高清无人区完整版 | 欧美日韩免费一区二区 | 毛片网站免费在线观看 | 亚洲乱码久久 | 不卡的av电影 | 亚洲精品国产免费 | 久久精品视频4 | 亚洲精品国产片 | 色视频国产直接看 | 免费在线a | 亚洲不卡在线 | 精产嫩模国品一二三区 | 91综合色 | 手机在线观看国产精品 | 热久久精品在线 | 最新久久免费视频 | 欧美性大战 | 欧美精品在线观看一区 | 狠狠色综合网站久久久久久久 | 九九热视频在线免费观看 | 亚洲欧洲在线视频 | 久久久精选| 日韩成人不卡 | 中文字幕免费不卡视频 | 一区二区精品视频 | 亚洲天堂自拍视频 | 国产一级二级三级视频 | 日韩黄色大片在线观看 | 国产小视频你懂的在线 | 色婷婷激情五月 | 精品女同一区二区三区在线观看 | 久久久亚洲麻豆日韩精品一区三区 | 国产麻豆成人传媒免费观看 | 伊人天堂网| 深夜免费小视频 | 五月婷婷视频在线观看 | 久久这里只有精品视频首页 | 国产精品久久99综合免费观看尤物 | 色国产精品一区在线观看 | 涩涩伊人 | 久久国产精品色av免费看 | 91精品网站在线观看 | 色www永久免费 | 91九色视频观看 | 99精品视频免费观看 | 天天伊人网 | 亚洲第一区精品 | 国产精品99蜜臀久久不卡二区 | 蜜臀一区二区三区精品免费视频 | 二区视频在线 | 国产精品久久久av久久久 | 精品一区欧美 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 久久免费福利视频 | 国产一级a毛片视频爆浆 | 午夜影院一级片 | 一区二区激情视频 | 天天插日日操 | 日韩黄视频 | 欧美视频xxx | 亚洲黄色片在线 | 成人在线免费观看网站 | 亚洲综合在线五月 | 午夜视频在线观看一区二区三区 | 国产成人av在线影院 | 久久久国产毛片 | 一区免费观看 | 国产视频 亚洲视频 | 日日久视频 | 久久69精品久久久久久久电影好 | 五月天欧美精品 | 99久久er热在这里只有精品15 | 国产字幕av | 麻豆一区在线观看 | 日韩电影一区二区在线 | 中文字幕在线观看2018 | 亚洲精品在线观看的 | 99c视频高清免费观看 | 91精品啪在线观看国产线免费 | 国产精品资源 | 天天综合成人 | 狠狠干夜夜爽 | 黄av在线| 日韩电影黄色 | 麻豆一精品传二传媒短视频 | 欧美人操人 | 精品国产一区二区三区四区vr | 成人高清在线观看 | 久久综合久久综合九色 | 欧美激情视频在线免费观看 | 国产精品久久久久久五月尺 | 欧美一区二区精品在线 | 五月婷婷在线综合 | 91在线观看视频 | 日韩精品一区在线播放 | 中文字幕国产视频 | 中文字幕一二三区 | 中文字幕在线一区观看 | 欧美精品免费在线观看 | 亚洲精品在线一区二区 | 免费在线观看亚洲视频 | www.天天干.com | 国产精品久久久久久久久久不蜜月 | 91在线免费播放视频 | 97在线公开视频 | 在线视频a | 精品五月天 | 国产精品女人网站 | 天天干一干 | www.香蕉视频在线观看 | 超碰97国产在线 | 欧美精品一二三 | 日韩成人精品一区二区 | 亚洲 欧美 成人 | 欧美激情精品久久久久久免费印度 | 91手机电视 | 五月婷婷欧美视频 | 999久久久欧美日韩黑人 | 久久精品韩国 | 欧美一级片在线观看视频 | 欧美精品一区在线发布 | 中文字幕在线高清 | 中文字幕在线观看完整版电影 | 免费在线色视频 | 黄av免费在线观看 | 激情网第四色 | 国内久久精品视频 | 久久精品99国产国产 | 青青草国产精品 | 精品久久91 | 在线有码中文字幕 | 91九色视频在线播放 | 成人av片免费看 | 亚洲日b视频 | 久久免费影院 | 在线精品一区二区 | 午夜久久久影院 | 亚洲黄色在线观看 | 夜色成人av| 亚洲一区视频在线播放 | 午夜精品久久久久久久久久 | 免费在线观看日韩视频 | 又黄又爽免费视频 | 国产中文字幕在线 | 午夜av免费 | 丁香电影小说免费视频观看 | 久久av电影 | 能在线看的av | 一区二区三区精品在线 | 毛片激情永久免费 | 狠狠干电影 | 99精品视频免费 | 麻豆精品91| 香蕉看片| 久久999精品 | 免费国产一区二区视频 | 亚洲精品久久久久999中文字幕 | 免费日韩电影 | 在线观看亚洲电影 | 婷婷色在线资源 | 国产精品色视频 | 少妇精品久久久一区二区免费 | 国产精品一区二区免费在线观看 | 91精品视频一区 | 黄色视屏在线免费观看 | 超碰在线最新地址 | 成人污视频在线观看 | 亚洲欧洲中文日韩久久av乱码 | 色婷婷亚洲 | 免费高清在线观看电视网站 | 人人干人人超 | 国产精品国产三级国产aⅴ9色 | 在线只有精品 | 国产精品一区二区av麻豆 | 免费视频久久 | 亚洲成人家庭影院 | 久久久精品久久日韩一区综合 | 天天天干天天射天天天操 | 伊人婷婷 | 国产手机在线 | 亚洲精品毛片一级91精品 | 91在线免费看片 | 人人藻人人澡人人爽 | av在线电影网站 | 中文字幕在线观看第三页 | 日韩免费看视频 | 亚洲国产剧情 | 国产成人亚洲在线观看 | 五月丁香 | 日韩中文字幕免费电影 | 一区在线电影 | 久久的色 | 欧美日韩不卡在线 | 国产中文字幕视频 | 小草av在线播放 | 一区二区三区免费网站 | 一区二区三区在线观看免费 | 伊人天堂久久 | 草久久久 | 樱空桃av| 999亚洲国产996395 | 五月综合激情网 | 欧美日韩99 | 99久久久久 | 午夜精品久久久久久中宇69 | 91看片看淫黄大片 | 深爱综合网 | 精品国产乱码久久久久久三级人 | 伊人久操 | 高清久久久久久 | 成人av一区二区兰花在线播放 | 永久黄网站色视频免费观看w | 麻豆va一区二区三区久久浪 | 成人网看片| 亚洲精品视频免费在线 | 日本不卡一区二区 | 成人亚洲免费 | 在线观看片 | 精品久久久久免费极品大片 | 91精品国产成人www | 色婷婷综合久久久久中文字幕1 | 久久久久电影 | 国产免费专区 | 91视频高清| 日日操天天爽 | 久久国产品 | 久久免费毛片视频 | 五月天久久久久久 | 91完整版观看| 国产在线播放一区二区三区 | 免费av在线播放 | 国产成人精品一区二区三区网站观看 | 久久久.com| 中文字幕av免费 | 九九热在线精品视频 | 日韩城人在线 | 国产在线免费观看 | 97国产精品一区二区 | 999成人网 | 国产精品久久久久久五月尺 | 中文字幕免费中文 | 久久污视频 | 在线天堂日本 | 日批在线看 | 国产一线在线 | 日韩欧美黄色网址 | 午夜国产一区二区三区四区 | 国产一级二级av | 五月天亚洲激情 | 中文字幕免费看 | 九九热在线观看视频 | 91视频3p| 亚洲精选99 | 黄色在线观看免费网站 | 特级a毛片 | a'aaa级片在线观看 | 成人av资源网 | 亚洲va欧美va| 黄色三级免费片 | 四虎在线观看 | www黄色com | 99精品黄色| 免费黄色在线播放 | 国产探花在线看 | 中文字幕日韩精品有码视频 | 亚洲一区日韩精品 | 午夜国产一区二区三区四区 | 亚洲人成综合 | 天天操夜操视频 | 一区二区激情视频 | 欧美性色19p | 91精品亚洲影视在线观看 | 黄av在线| 黄色网址a | 狠狠色丁香久久婷婷综合五月 | 在线观看aa| 五月婷久久 | 国产精品久久久久一区二区国产 | 色综合久久久久综合体桃花网 | 九九视频网 | 一区 二区电影免费在线观看 | 亚洲免费视频在线观看 | 91黄色在线视频 | 又黄又刺激的视频 | 99热手机在线观看 | 国产精国产精品 | 欧美激情片在线观看 | 亚洲尺码电影av久久 | 亚洲,播放 | 国产小视频在线播放 | 99re国产| 成人影片在线免费观看 | 国产 字幕 制服 中文 在线 | 欧美一区二区精品在线 | 久久你懂的 | 亚洲精品在线播放视频 | 91黄色免费网站 | 一级黄色片在线观看 | 免费一级片观看 | 日韩在线电影一区二区 | 四虎影视精品 | 国产无限资源在线观看 | 亚洲九九精品 | bayu135国产精品视频 | 深爱激情五月网 | 天天色天天综合网 | 三级黄色网络 | 黄色av观看| 欧美激情xxxx性bbbb | 91av短视频 | 国产精品久久久久久影院 | 最近更新的中文字幕 | 欧美一区二区精美视频 | 婷婷香蕉 | 曰韩精品| 亚洲视频专区在线 | 欧美日本高清视频 | 久久精品综合网 | 成人黄色电影在线播放 | 亚洲国产中文字幕在线观看 | 中文字幕日本特黄aa毛片 | 99久久精品免费看国产四区 | av在线h | 欧美成人高清 | 欧美久久久久久久久中文字幕 | 久久国产午夜精品理论片最新版本 | 摸阴视频| 欧美一二三专区 | 色综合久久88色综合天天6 | 国产又粗又猛又黄视频 | 亚洲精品视频免费在线观看 | 欧美成人69av | 国产做a爱一级久久 | 四虎在线观看 | 国产美女网站在线观看 | 激情九九 | 国产麻豆精品免费视频 | 久久毛片高清国产 | 久久无码av一区二区三区电影网 | 四月婷婷在线观看 | 久久五月精品 | 不卡精品 | 中日韩欧美精彩视频 | av三级av | 日日噜噜噜噜夜夜爽亚洲精品 | 免费福利在线观看 | 国产69精品久久久久9999apgf | 天天操天天干天天玩 | 欧美日韩午夜在线 | 在线观看视频在线 | 亚洲精品高清一区二区三区四区 | 日韩免费视频观看 | 在线导航av | 特级黄色一级 | 免费高清在线视频一区· | 亚洲好视频| 四虎精品成人免费网站 | 日本中文一级片 |