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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

开运算和闭运算_OpenCV计算机视觉学习(5)——形态学处理(腐蚀膨胀,开闭运算,礼帽黑帽,边缘检测)...

發布時間:2024/2/28 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 开运算和闭运算_OpenCV计算机视觉学习(5)——形态学处理(腐蚀膨胀,开闭运算,礼帽黑帽,边缘检测)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Fly-AI競賽服務平臺 flyai.com

在開始學習之前推薦大家可以多在FlyAI競賽服務平臺多參加訓練和競賽,以此來提升自己的能力。FlyAI是為AI開發者提供數據競賽并支持GPU離線訓練的一站式服務平臺。每周免費提供項目開源算法樣例,支持算法能力變現以及快速的迭代算法模型。

如果需要處理的原圖及代碼,請移步小編的GitHub地址

傳送門:請點擊我
  如果點擊有誤:https://github.com/LeBron-Jian/ComputerVisionPractice

  形態學操作簡單來說,就是改變物體的形狀,下面學習一下,首先本文的目錄如下:

  • 1,定義結構元素
  • 2,腐蝕和膨脹
  • 3,開運算和閉運算
  • 4,禮帽/頂帽,黑帽算法
  • 5,梯度運算
  • 6,形態學運算 檢測邊和角點(1,檢測邊緣 ; 2,檢測拐角)

1,定義結構元素

  形態學操作的原理:在特殊領域運算形式——結構元素(Structure Element),在每個像素位置上與二值圖像對應的區域進行特定的邏輯運算。運算結構是輸出圖像的相應像素。運算效果取決于結構元素大小內容以及邏輯運算性質。

  結構元素:膨脹和腐蝕操作的最基本組成部分,用于測試輸出圖像,通常要比待處理的圖像小很多,二維平面結構元素由一個數值為0或1的矩陣組成。結構元素的原點指定了圖像中需要處理的像素范圍,結構元素中數值為1的點決定結構元素的領域像素進行膨脹或腐蝕操作時是否需要參與計算。

  形態學處理的核心就是定義結構元素,在OpenCV-Python中,可以使用其自帶的 getStructuringElement 函數,也可以直接使用 Numpy 的 ndarray 來定義一個結構元素,形象圖如下:

  下面代碼為上圖的十字形,代碼如下:

#_*_coding:utf-8_*_import cv2import numpy as npdef show_element():element_cross = cv2.getStructuringElement(cv2.MORPH_CROSS, (5, 5))print(element_cross)element_ellipse = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (5, 5))print(element_ellipse)element_rect = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))print(element_rect)'''[[0 0 1 0 0][0 0 1 0 0][1 1 1 1 1][0 0 1 0 0][0 0 1 0 0]][[0 0 1 0 0][1 1 1 1 1][1 1 1 1 1][1 1 1 1 1][0 0 1 0 0]][[1 1 1 1 1][1 1 1 1 1][1 1 1 1 1][1 1 1 1 1][1 1 1 1 1]]'''def define_cross_structure():NpKernel = np.uint8(np.zeros((5, 5)))for i in range(5):NpKernel[2, i] = 1NpKernel[i, 2] = 1print("NpKernel", NpKernel)'''NpKernel [[0 0 1 0 0][0 0 1 0 0][1 1 1 1 1][0 0 1 0 0][0 0 1 0 0]]'''

  上面我們自定義了一個結構元素 kernel,先聲明一個矩陣,然后對其進行賦值,這種方法靈活但是略顯復雜。OpenCV提供了一個函數 也就是上面展示的,可以獲取常用結構元素的性質:矩形(包括線形),橢圓(包括圓形)以及十字形。下面具體學習一下此方法

1.1 定義一些基本符號和關系

1,元素

  設有一幅圖像X,若點 a 在 X 的區域以內,則稱 a 為 X 的元素,記做 a 屬于 X,如圖 6.1所示。

2,B包含于X

  設有兩幅圖像 B, X。對于 B中所有的元素 ai, 都有 ai 屬于 X,則稱B包含于 (included in)X ,記做 B 屬于 X,如圖6.2所示。

3,B擊中 X

  設有兩幅圖像B, X。若存在這一一個點,它即是B的元素,又是 X 的元素,則稱 B 擊中(hit)X,記做 B ↑ X,如圖6.3所示。

4,B不擊中 X

  設有兩幅圖像B, X。若不存在任何一個點,它既是B的元素,又是 X的元素,即 B和 X的交集是空,則稱 B 不擊中(miss)X,記做 B ∩ X = Φ;其中 ∩ 是集合運算相交的符號,Φ 表示空集,如圖6.4所示。

5,補集

  設有一幅圖像 X,所有 X 區域以外的點構成的集合稱為 X 的補集,記做 Xc,如下圖所示。顯然,如果B ∩ X = Φ,則 B 在 X的補集內,即 B 屬于 Xc。

6,結構元素

  設有兩幅圖像B,X。若X是被處理的對象,而B是用來處理X的,則稱B為結構元素(structure element),又被形象的稱作刷子。結構元素通常都是一些比較小的圖像。

7,對稱集

  設有一幅圖像B,將B中所有元素的坐標取反,即令(x, y)變為(-x, -y),所有這些點構成的新的集合稱為B的對稱集,記做 Bv,如下圖6.6所示。

8,平移

  設有一幅圖像B,有一個點a(x0, y0),將B平移a后的結果是,把B中所有元素的橫坐標加 x0,縱坐標加 y0,即令(x, y)變成(x + x0, y+y0),所有這些點構成新的集合稱為B的平移,記做 Ba,如圖6.7所示。

1.2 getStructuringElement 方法

  getStructuringElement 是OpenCV提供的一個函數,getStructuringElement 的內部并沒有什么優化實現,只是封裝了一些功能,其原理同樣是聲明了一個矩陣,然后求形狀,指定矩陣的值。而我們只需要直接調用即可。

  函數原型如下:

def getStructuringElement(shape, ksize, anchor=None):

  參數的意思:

  • shape 表示內核的形狀,有三種形狀可以選擇:

    ——十字形:cv2.getStructuringElement(cv2.MORPH_CROSS,(5,5))

    ——橢圓:cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(5,5))

    ——矩形:cv2.getStructuringElement(cv2.MORPH_RECT,(5,5))

  • ksize 表示內核的尺寸(n, n)
  • anchor 錨點的位置

  此函數最終會返回指定形狀和尺寸的結構元素。

  下面代碼實現一下,這里同時展示一下自己寫的:

kernel1 = np.ones((3, 3), np.uint8)kernel2 = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3))print(kernel1)print(kernel2)print(kernel1 == kernel2)'''[[1 1 1][1 1 1][1 1 1]][[1 1 1][1 1 1][1 1 1]][[ True True True][ True True True][ True True True]]'''

  這里其實再證明一次。

2,腐蝕和膨脹

  圖像的膨脹(Dilation)和腐蝕(Erosion)是兩種基本的形態學運算,主要用來尋找圖像中的極大區域和極小區域。其中膨脹類似于“領域擴張”,將圖像中的高亮區域或白色部分進行擴張,其運行結果圖比原圖的高亮區域更大;腐蝕類似于“領域被蠶食”,將圖像中的高亮區域或白色部分進行縮減細化,其運行結果圖比原圖的高亮區域更小。

  形態學各種功能實現,都歸結為腐蝕 erode 和 膨脹 dilate 的組合,形象理解一下就是腐蝕等于變瘦,膨脹等于變胖,所以下面學習一下腐蝕和膨脹。

注意:腐蝕和膨脹主要針對二值化圖像的白色部分。

2.1 腐蝕

  腐蝕就是把結構元素B平移a后得到Ba,若Ba包含于X,我們記下這個a點,所有滿足上述條件的 a點組成的集合稱為X被B腐蝕(Erosion)的結果。

  上圖 X 是被處理的對象,B是結構元素,不難知道,對于任意一個在陰影部分的點 a,Ba包含于X,所以 X被B腐蝕的結果就是那個陰影部分,陰影部分在 X的范圍之內,且比 X小,就像 X 被剝掉了一層似的,這0就是為什么叫腐蝕的原因。

  腐蝕的運算符為 “ - ”,其定義如下:

  該公式表示圖像A用卷積模板B來進行腐蝕處理,通過模板B與圖像A進行卷積計算,得到B覆蓋區域的像素點最小值,并用這個最小值來替代參考點的像素值。如圖所示,將左邊的原始圖像A腐蝕處理為右邊的效果圖A-B。

腐蝕:腐蝕會把物體的邊界腐蝕掉,卷積核沿著圖像滑動,如果卷積核對應的原圖的所有像素值為1,那么中心元素就保持原來的值,否則變為零。主要應用在去除白噪聲,也可以斷開連在一起的物體。

  在原圖的每一個區域中取最小值,由于是二值化圖像,只要有一個點為0,則為0,來達到瘦身的目的。

腐蝕的作用:

  • 1,對象大小減少1個像素(3*3)
  • 2,平滑對象邊緣
  • 3,弱化或者分割圖像之間的半島型連接

2.2 膨脹(Dilate)

  膨脹可以看做是腐蝕的對偶運算,其定義是:把結構元素B平移 a 后得到 Ba,若Ba擊中X,我們記下這個 a 點。所有滿足上述條件的 a點組成的集合稱為 X被B膨脹的結果。

  膨脹的方法是:拿B的中心點和X上的點及X周圍的點一個一個的對,如果B上有一個點落在X的范圍內,則該點為黑,可以看出X的范圍就像X膨脹一圈似的。

  圖像膨脹的運算符是“⊕”,其定義如下:

  這個公式表示用B來對圖像A進行膨脹處理,其中B是一個卷積模板或卷積核,其形狀可以為正方形或圓形,通過模板B與圖像A進行卷及計算,掃描圖像中的每一個像素點,用模板元素與二值圖像元素做“與”運算,如果都為0,那么目標像素點為0,否則為1。從而計算B覆蓋區域的像素點最大值,并用該值替換參考點的像素值實現膨脹。下圖是將左邊的原始圖像A膨脹處理為右邊的效果圖 A⊕B。

膨脹:卷積核所對應的原圖像的像素值只要有一個是1,中心像素值就是1.一般在除噪聲,先腐蝕再膨脹,因為腐蝕在去除白噪聲的時候也會使圖像縮小,所以我們之后要進行膨脹。當然也可以用來將兩者物體分開。

膨脹的作用:

  • 1,對象大小增加一個像素 (3*3)
  • 2,平滑對象邊緣
  • 3,減少或者填充對象之間的距離

2.3 代碼展示

  代碼如下:

import cv2import numpy as npdef erode_image(img_path):origin_img = cv2.imread(img_path)gray_img = cv2.cvtColor(origin_img, cv2.COLOR_BGR2GRAY)# OpenCV定義的結構元素kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3))# 腐蝕圖像eroded = cv2.erode(gray_img, kernel)# 顯示腐蝕后的圖像cv2.imshow('Origin', origin_img)cv2.imshow('Erode', eroded)cv2.waitKey(0)cv2.destroyAllWindows()def dilate_image(img_path):origin_img = cv2.imread(img_path)gray_img = cv2.cvtColor(origin_img, cv2.COLOR_BGR2GRAY)# OpenCV定義的結構元素kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3))# 膨脹圖像dilated = cv2.dilate(gray_img, kernel)# 顯示腐蝕后的圖像cv2.imshow('Dilate', dilated)cv2.waitKey(0)cv2.destroyAllWindows()if __name__ == '__main__':img_path = 'origin.jpg'erode_image(img_path)dilate_image(img_path)

  如上所示,腐蝕和膨脹的處理很簡單,只需設置好結構元素,然后分別調用 cv2.erode() 和 cv2.dilate()函數,其中第一個參數為需要處理的圖像,第二個是結構元素,返回處理好的圖像。

  下圖從左到右依次是 原圖,腐蝕,膨脹(我們可以看出腐蝕是將線條變瘦,膨脹是變胖):

2.4 腐蝕和膨脹的知識點補充

  1,可以看做膨脹是將白色區域擴大,腐蝕是將黑色區域擴大。

  2,可以不進行灰度處理,對彩色圖像進行處理

腐蝕cv2.erode(src, # 輸入圖像kernel, # 卷積核dst=None,anchor=None,iterations=None, # 迭代次數,默認1borderType=None,borderValue=None)膨脹cv2.dilate(src, # 輸入圖像kernel, # 卷積核dst=None,anchor=None,iterations=None, # 迭代次數,默認1borderType=None,borderValue=None)

3,開運算和閉運算

  開運算和閉運算就是將腐蝕和膨脹按照一定的次序進行處理。但是這兩者并不是可逆的,即先開后閉并不能得到原來的圖像。

  為了獲取圖像中的主要對象:對一幅二值圖連續使用閉運算和開運算,或者消除圖像中的噪聲,也可以對圖像先用開運算后用閉運算,不過這樣也會消除一些破碎的對象。

  • 開運算:先腐蝕后膨脹,用于移除由圖像噪聲形成的斑點
  • 閉運算:先膨脹后腐蝕,用來連接被誤分為許多小塊的對象

3.1 開運算

  開運算 = 先腐蝕運算,再膨脹運算(看上去把細微連在一起的兩塊目標分開了)

  開運算的效果圖如下圖所示:

  開運算總結:

  • (1)開運算能夠除去孤立的小點,毛刺和小橋,而總的位置和形狀不變。
  • (2)開運算是一個基于幾何運算的濾波器
  • (3)結構元素大小的不同將導致濾波效果的不同
  • (4)不同的結構元素的選擇導致了不同的分割,即提取出不同的特征。

3.2 閉運算

  閉運算=先膨脹運算,再腐蝕運算(看上去將兩個細微連接的圖封閉在一起)

  閉運算的效果如下圖所示:

  閉運算總結:

  • (1)閉運算能夠填平小湖(即小孔),彌合小裂縫,而總的位置和形狀不變。
  • (2)閉運算是通過填充圖像的凹角來濾波圖像的。
  • (3)結構元素大小的不同將導致濾波效果的不同。
  • (4)不同結構元素的選擇導致了不同的分割。

  代碼如下:

import cv2import numpy as npdef Open_operation(img_path):origin_img = cv2.imread(img_path)gray_img = cv2.cvtColor(origin_img, cv2.COLOR_BGR2GRAY)# OpenCV定義的結構元素kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))# 開運算open = cv2.morphologyEx(gray_img, cv2.MORPH_OPEN, kernel)# 顯示腐蝕后的圖像cv2.imshow('Open', open)cv2.waitKey(0)cv2.destroyAllWindows()def Closed_operation(img_path):origin_img = cv2.imread(img_path)gray_img = cv2.cvtColor(origin_img, cv2.COLOR_BGR2GRAY)# OpenCV定義的結構元素kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))# 閉運算closed = cv2.morphologyEx(gray_img, cv2.MORPH_CLOSE, kernel)# 顯示腐蝕后的圖像cv2.imshow('Closed', closed)cv2.waitKey(0)cv2.destroyAllWindows()def show_origin(origin_path):# img = cv2.imread(origin_path, )# 灰度化img = cv2.imread(origin_path, 0)cv2.imshow('origin', img)cv2.waitKey(0)cv2.destroyAllWindows()if __name__ == '__main__':# 此圖為加了高斯噪聲的圖片img_path = 'butterfly_Gaussian.jpg'show_origin(img_path)Closed_operation(img_path)Open_operation(img_path)import cv2import numpy as npdef Open_operation(img_path):origin_img = cv2.imread(img_path)gray_img = cv2.cvtColor(origin_img, cv2.COLOR_BGR2GRAY)# OpenCV定義的結構元素kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))# 開運算open = cv2.morphologyEx(gray_img, cv2.MORPH_OPEN, kernel)# 顯示腐蝕后的圖像cv2.imshow('Open', open)cv2.waitKey(0)cv2.destroyAllWindows()def Closed_operation(img_path):origin_img = cv2.imread(img_path)gray_img = cv2.cvtColor(origin_img, cv2.COLOR_BGR2GRAY)# OpenCV定義的結構元素kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))# 閉運算closed = cv2.morphologyEx(gray_img, cv2.MORPH_CLOSE, kernel)# 顯示腐蝕后的圖像cv2.imshow('Closed', closed)cv2.waitKey(0)cv2.destroyAllWindows()def show_origin(origin_path):# img = cv2.imread(origin_path, )# 灰度化img = cv2.imread(origin_path, 0)cv2.imshow('origin', img)cv2.waitKey(0)cv2.destroyAllWindows()if __name__ == '__main__':# 此圖為加了高斯噪聲的圖片img_path = 'butterfly_Gaussian.jpg'show_origin(img_path)Closed_operation(img_path)Open_operation(img_path)

  效果如下:(分布是原圖,開運算的圖,閉運算的圖)

  閉運算用來連接被誤分為許多小塊的對象,而開運算用于移除由圖像噪聲形成的斑點。因此,某些情況下可以連續運用這兩種運算。如對一幅二值圖連續使用閉運算和開運算,將獲得圖像中的主要讀寫。同樣,如果想消除圖像中噪聲(即圖像中的“小點”),也可以對圖像先用開運算后用閉運算,不過這樣也會消除一些破碎的對象。

3.3 開運算和閉運算的知識點補充

  這里主要補充函數原型

開運算圖像開運算主要使用的函數morphologyEx,它是形態學擴展的一組函數,其參數cv2.MORPH_OPEN對應開運算。其原型如下:dst = cv2.morphologyEx(src, cv2.MORPH_OPEN, kernel)參數dst表示處理的結果,src表示原圖像,cv2.MORPH_OPEN表示開運算,kernel表示卷積核閉運算圖像閉運算主要使用的函數morphologyEx,其原型如下:dst = cv2.morphologyEx(src, cv2.MORPH_CLOSE, kernel)參數dst表示處理的結果,src表示原圖像, cv2.MORPH_CLOSE表示閉運算,kernel表示卷積核

4,禮帽/頂帽,黑帽算法

  禮帽 :原始圖像與其進行開運算后的圖像進行一個差

  黑帽:原始圖像與其閉運算后的圖像進行一個差

  禮帽運算 = 原始圖像 - 開運算

  黑帽運算 = 閉運算 - 原始圖像

  代碼如下:

import cv2def hat_algorithm(img_path):original_img0 = cv2.imread(img_path)original_img = cv2.imread(img_path, 0)kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3)) # 定義矩形結構元素TOPHAT_img = cv2.morphologyEx(original_img, cv2.MORPH_TOPHAT, kernel) # 頂帽運算BLACKHAT_img = cv2.morphologyEx(original_img, cv2.MORPH_BLACKHAT, kernel) # 黒帽運算# 顯示圖像cv2.imshow("original_img0", original_img0)cv2.imshow("original_img", original_img)cv2.imshow("TOPHAT_img", TOPHAT_img)cv2.imshow("BLACKHAT_img", BLACKHAT_img)cv2.waitKey(0)cv2.destroyAllWindows()if __name__ == '__main__':img_path = 'butterfly_Gaussian.jpg'hat_algorithm(img_path)

  效果如下:(依次是原圖,灰度圖圖片(兩個類似,是因為我將原圖做了灰度化高斯處理,所以灰度化之后和原圖類似),頂帽圖片,黑帽圖片)

  該算法可以用于圖像識別的預處理,用于圖像二值化后取出孤立點,代碼如下:

import cv2def deal_isolated(img_path):original_img = cv2.imread(img_path, 0)gray_img = cv2.resize(original_img, None, fx=0.8, fy=0.8,interpolation=cv2.INTER_CUBIC) # 圖形太大了縮小一點kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3)) # 定義矩形結構元素(核大小為3效果好)TOPHAT_img = cv2.morphologyEx(gray_img, cv2.MORPH_TOPHAT, kernel) # 頂帽運算BLACKHAT_img = cv2.morphologyEx(gray_img, cv2.MORPH_BLACKHAT, kernel) # 黒帽運算bitwiseXor_gray = cv2.bitwise_xor(gray_img, TOPHAT_img)# 顯示如下腐蝕后的圖像cv2.imshow("gray_img", gray_img)cv2.imshow("TOPHAT_img", TOPHAT_img)cv2.imshow("BLACKHAT_img", BLACKHAT_img)cv2.imshow("bitwiseXor_gray", bitwiseXor_gray)cv2.waitKey(0)cv2.destroyAllWindows()if __name__ == '__main__':img_path = 'lena.jpg'deal_isolated(img_path)

    可以看出,最后效果更加明顯了一些:

5,梯度運算

梯度 = 膨脹 - 腐蝕

  下面看一個示例:

import cv2import numpy as npimport matplotlib.pyplot as pltimg = cv2.imread('circle.jpg')kernel = np.ones((7, 7), np.uint8)# kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (7, 7))erosion = cv2.erode(img, kernel, iterations = 5)dilation = cv2.dilate(img, kernel, iterations = 3)gradient = cv2.morphologyEx(img, cv2.MORPH_GRADIENT, kernel)result = [img, erosion, dilation, gradient]titles = ['origin img', 'erosion img', 'dilate img', 'gradient img']for i in range(4):plt.subplot(2, 2, i+1), plt.imshow(result[i])plt.title(titles[i])plt.xticks([]), plt.yticks([])plt.show()

  效果如下:

6,用形態學運算檢測邊和角點

  這里通過一個較復雜的例子學習如何用形態學算子檢測圖像中的邊緣和拐角(這里只做形態學處理例子,實際使用請參考Canny和Harris等算法:請參考博文:深入學習OpenCV中幾種圖像邊緣檢測算子)

6.1 檢測邊緣

  形態學檢測邊緣的原理很簡單,在膨脹時,圖像中的物體會向周圍“擴張”;腐蝕時,圖像的額物體會“收縮”。比較兩幅圖像,由于其變化的區域只發生在邊緣。所以這時將這兩幅圖像相減,得到的就是圖像中的邊緣。這里用的依然是參考資料《Opencv2 Computer Vision Application Programming Cookbook》中相關章節的圖片:

  代碼如下:

# coding=utf-8import cv2import numpydef detection_edge(img_path):image = cv2.imread(img_path, 0)# 構造一個3×3的結構元素element = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3))dilate = cv2.dilate(image, element)erode = cv2.erode(image, element)# 將兩幅圖像相減獲得邊,第一個參數是膨脹后的圖像,第二個參數是腐蝕后的圖像# cv2.absdiff參數:(膨脹后的圖像,腐蝕后的圖像)result = cv2.absdiff(dilate, erode)# 上面得到的結果是灰度圖,將其二值化以便更清楚的觀察結果retval, result = cv2.threshold(result, 40, 255, cv2.THRESH_BINARY)# 反色,即對二值圖每個像素取反result = cv2.bitwise_not(result)# 顯示圖像cv2.imshow("result", result)cv2.waitKey(0)cv2.destroyAllWindows()if __name__ == '__main__':img_path = "building.jpg"detection_edge(img_path)

  結果如下:

6.2 檢測角點(拐角)

  與邊緣檢測不同,拐角的檢測過程稍稍有些復雜。但是原理相同,所不同的是先用十字形的結構元素膨脹像素,這種情況下只會在邊緣處“擴張”,角點不發生變化。接著用菱形的結構元素腐蝕原圖像,導致只有在拐角處才會“收縮”,而直線邊緣都未發生變化。

  第二步是用X行膨脹原圖像,焦點膨脹的比邊要多。這樣第二次用方塊腐蝕時,角點恢復原狀,而邊要腐蝕的更多。所以當兩幅圖像相減時,只保留了拐角處,示意圖如下(示意圖來自參考資料《Opencv2 Computer Vision Application Programming Cookbook》):

  代碼如下:

# coding=utf-8import cv2import numpydef detection_inflexion(img_path):image = cv2.imread(img_path, 0)origin = cv2.imread(img_path)# 構造5×5的結構元素,分別為十字形、菱形、方形和X型cross = cv2.getStructuringElement(cv2.MORPH_CROSS, (5, 5))# 菱形結構元素的定義稍麻煩一些diamond = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))diamond[0, 0] = 0diamond[0, 1] = 0diamond[1, 0] = 0diamond[4, 4] = 0diamond[4, 3] = 0diamond[3, 4] = 0diamond[4, 0] = 0diamond[4, 1] = 0diamond[3, 0] = 0diamond[0, 3] = 0diamond[0, 4] = 0diamond[1, 4] = 0square = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))x = cv2.getStructuringElement(cv2.MORPH_CROSS, (5, 5))# 使用cross膨脹圖像dilate_cross_img = cv2.dilate(image, cross)# 使用菱形腐蝕圖像erode_diamond_img = cv2.erode(dilate_cross_img, diamond)# 使用X膨脹原圖像dilate_x_img = cv2.dilate(image, x)# 使用方形腐蝕圖像erode_square_img = cv2.erode(dilate_x_img, square)# result = result1.copy()# 將兩幅閉運算的圖像相減獲得角result = cv2.absdiff(erode_square_img, erode_diamond_img)# 使用閾值獲得二值圖retval, result = cv2.threshold(result, 40, 255, cv2.THRESH_BINARY)# 在原圖上用半徑為5的圓圈將點標出。for j in range(result.size):y = int(j / result.shape[0])x = int(j % result.shape[0])if result[x, y] == 255:cv2.circle(image, (y, x), 5, (255, 0, 0))cv2.imshow("Result", image)cv2.waitKey(0)cv2.destroyAllWindows()if __name__ == '__main__':img_path = "building.jpg"detection_inflexion(img_path)

  通過上面的代碼就能檢測出圖像的拐角并標出來,效果如下:

  當然這個只是一個示例,效果不是很好。

參考文獻:https://www.cnblogs.com/ssyfj/p/9276999.htmlhttps://blog.csdn.net/wsp_1138886114/article/details/82917661https://blog.csdn.net/JohinieLi/article/details/81041276https://blog.csdn.net/hanshanbuleng/article/details/80657148
1、《Opencv2 Computer Vision Application Programming Cookbook》
2、《OpenCV References Manule》
最初的來源: https://blog.csdn.net/sunny2038/article/details/9137759https://blog.csdn.net/gbxvip/article/details/50844007

更多精彩內容請訪問FlyAI-AI競賽服務平臺;為AI開發者提供數據競賽并支持GPU離線訓練的一站式服務平臺;每周免費提供項目開源算法樣例,支持算法能力變現以及快速的迭代算法模型。

挑戰者,都在FlyAI!!!

總結

以上是生活随笔為你收集整理的开运算和闭运算_OpenCV计算机视觉学习(5)——形态学处理(腐蚀膨胀,开闭运算,礼帽黑帽,边缘检测)...的全部內容,希望文章能夠幫你解決所遇到的問題。

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

97在线观看视频免费 | 久久激情视频 久久 | 免费观看一级 | 精品96久久久久久中文字幕无 | 欧美一级视频免费看 | 成人av在线影院 | 久久久午夜精品理论片中文字幕 | 亚洲女同ⅹxx女同tv | 日本女人的性生活视频 | 久久资源在线 | 九热精品| 天天视频色 | 97精品久久 | 在线观看视频中文字幕 | 深爱婷婷 | 97精品超碰一区二区三区 | 久久精品亚洲精品国产欧美 | 一区 在线 影院 | 国产成人免费网站 | 亚洲片在线资源 | 天天爽夜夜爽精品视频婷婷 | 色狠狠综合天天综合综合 | 激情自拍av | 中文字幕第一页在线播放 | 在线一区观看 | 亚洲欧美日韩精品一区二区 | 日韩久久午夜一级啪啪 | 亚洲黄在线观看 | 99久久综合国产精品二区 | 91麻豆国产 | 西西444www大胆无视频 | 国产一区二区在线免费视频 | 九九九九九精品 | 中文字幕一区在线 | 欧美日韩国产在线观看 | 伊人首页| www日韩欧美| 97超碰免费在线观看 | 日韩在观看线 | 人人爽人人爽 | 天天干天天干天天射 | 久久1区 | 国产精品视频免费 | 美女视频黄的免费的 | 久草在线精品观看 | 日韩国产精品一区 | 狠狠操综合网 | 天天干,天天操,天天射 | 在线三级播放 | 99精品系列 | 91在线精品视频 | 精品国产一区二区三区在线观看 | 黄色精品久久 | 夜夜夜夜猛噜噜噜噜噜初音未来 | 热久久99这里有精品 | 日韩精品视频免费在线观看 | 日韩免费二区 | 青青草视频精品 | 久久久久久久久久久网 | 久久国产露脸精品国产 | 国产精品亚洲片在线播放 | av中文天堂 | 成 人 免费 黄 色 视频 | 91丨porny丨九色 | 国产小视频网站 | 激情视频网页 | 一区二区视频在线看 | 手机av观看 | 午夜成人影视 | 免费在线观看一级片 | 久久久久久久久毛片精品 | www91在线观看 | 男女免费视频观看 | 亚洲综合激情 | 国产成人av电影在线 | 午夜影视一区 | 91视频久久久久久 | 九九热久久久 | 精品欧美日韩 | 免费三及片 | 美女黄久久 | 99视频在线观看一区三区 | 黄色av大片 | 丁香综合av | 亚洲二级片 | 免费观看9x视频网站在线观看 | 国产在线成人 | 96av在线| 在线国产高清 | av在线中文 | avsex| 久久免费99精品久久久久久 | 亚洲视频免费在线看 | 天堂av免费 | 在线视频成人 | 久久久久久久看片 | 免费看片网址 | 看国产黄色片 | 99精品一区 | 97在线观看免费观看高清 | 米奇影视7777| 久草在线免 | 日韩欧美精品一区二区三区经典 | 在线观看岛国片 | 日韩精品免费一区二区三区 | 日韩av成人在线观看 | 在线免费av观看 | 久久久久久久久精 | 欧美精品久久久久久久久久久 | 午夜视频在线观看网站 | 国产v在线播放 | 亚洲综合视频在线 | 91久久黄色 | 国产欧美日韩精品一区二区免费 | 97精产国品一二三产区在线 | 91精品国产九九九久久久亚洲 | 热re99久久精品国产66热 | 免费性网站 | 黄色av电影 | 超碰97在线资源站 | 国产精品久久一 | 成人小视频免费在线观看 | 日韩一区二区三区免费视频 | 欧美一级免费高清 | 成人av免费 | 国产亚洲婷婷免费 | 亚洲综合少妇 | 91久久久国产精品 | 亚洲精品中文字幕视频 | 色欧美日韩 | 日韩精品免费一区二区 | 亚洲精品一区二区三区四区高清 | 国产做a爱一级久久 | 狠狠伊人 | 草樱av| 精品亚洲欧美无人区乱码 | 免费在线黄| 国产美女免费视频 | 国产精品久久久久久一二三四五 | 国产精品精品久久久久久 | 91九色精品女同系列 | 国产精品一区二区中文字幕 | 午夜精品一区二区三区免费视频 | 亚洲理论在线 | 狠狠色免费| jizz欧美性9 国产一区高清在线观看 | 视频国产区 | 亚洲精品美女在线观看播放 | 在线a亚洲视频播放在线观看 | 一区二区激情视频 | 久久涩涩网站 | 999国内精品永久免费视频 | 91看片淫黄大片91 | 成年人看片网站 | 中文字幕在线播放av | 中文字幕一区二区三区久久 | 国产亚洲视频系列 | 国产无套一区二区三区久久 | 91香蕉视频黄色 | 久久都是精品 | 国产三级av在线 | 日韩欧美综合视频 | 日韩激情视频在线观看 | 免费观看黄色12片一级视频 | 在线观看日韩精品 | 日韩成人邪恶影片 | 五月婷亚洲| 成人av一二三区 | 成人av免费 | 亚洲精品影院在线观看 | 国产精品24小时在线观看 | 国模一区二区三区四区 | 很黄很黄的网站免费的 | 色夜视频 | 国产一区久久 | 三上悠亚一区二区在线观看 | 国产精品一区二区三区久久 | 久久亚洲热 | 中文字幕观看视频 | 久久久免费毛片 | 成人a级大片 | 日韩av在线免费看 | 中文字幕国产一区二区 | 韩国av三级 | 91精品久久香蕉国产线看观看 | 丁香综合激情 | 日韩欧美高清一区二区三区 | 亚洲国产精品成人综合 | 成人黄色片在线播放 | 国产 日韩 欧美 在线 | 五月综合激情婷婷 | 99久久毛片 | 96精品高清视频在线观看软件特色 | 天天躁日日躁狠狠 | 国产喷水在线 | 精品久久久久久久久亚洲 | 美女网站在线看 | 99久久激情视频 | 亚洲精品99| 亚洲精品乱码白浆高清久久久久久 | 欧美 日韩精品 | 在线观看视频黄 | 五月婷婷色丁香 | 在线你懂 | 天天操天天干天天综合网 | 日韩欧美视频免费观看 | 视频一区在线免费观看 | 中文字幕xxxx| 国产精品成人一区二区三区 | 黄色免费看片网站 | 国产精品久久久久久久午夜片 | avav片 | 永久免费观看视频 | 国产精品扒开做爽爽的视频 | 97在线观看视频 | 国产免费视频一区二区裸体 | 免费视频在线观看网站 | 成人黄色电影在线观看 | 久久九九影院 | 日韩在线免费播放 | 国产在线精品区 | 黄色福利网 | 国产高清视频在线免费观看 | 婷婷激情影院 | 日韩福利在线观看 | 五月婷在线视频 | 国产日产精品一区二区三区四区的观看方式 | 成人网在线免费视频 | 国产在线观看高清视频 | 亚洲欧洲美洲av | 中文字幕在线视频一区二区 | 亚洲精品中文字幕视频 | 91丨九色丨国产丨porny精品 | 久久精品视频3 | 亚洲欧洲国产精品 | 国产一级片久久 | 欧美一级片在线免费观看 | 亚洲另类久久 | 欧美男女爱爱视频 | 国产精品视频最多的网站 | 色综合久久天天 | 久久久激情视频 | 99婷婷狠狠成为人免费视频 | 久久婷婷一区二区三区 | 日韩欧美视频免费在线观看 | 久久精品人 | 五月天激情综合 | 香蕉视频91 | av7777777| 欧美男同网站 | 欧美三级高清 | 国产亚洲日 | 国产福利一区二区三区视频 | 欧美日韩在线观看一区二区 | 人人揉人人揉人人揉人人揉97 | 久久人人爽人人爽人人 | av综合在线观看 | 国产精品ssss在线亚洲 | 五月婷婷深开心 | 中字幕视频在线永久在线观看免费 | 中文字幕日韩av | 伊人色综合网 | 色欧美视频 | 午夜日b视频 | 四虎影视成人 | 91成品视频| 日韩高清国产精品 | 午夜精品久久久久久久99水蜜桃 | 91精品国产成 | 91丨九色丨蝌蚪丨对白 | 久久老司机精品视频 | 操操爽| www免费看 | 亚洲精选久久 | 国产亚洲精品无 | 黄色片毛片 | 久草在线视频首页 | 久草在线视频看看 | 午夜国产一区二区三区四区 | 国产精品18久久久久白浆 | 久久久香蕉视频 | 亚洲 精品在线视频 | 爱爱av网站| 九九热免费在线视频 | 国产精品爽爽久久久久久蜜臀 | 日韩中文字幕电影 | 午夜123| 国产在线播放一区二区 | 国产不卡视频在线播放 | 中文字幕在线视频免费播放 | 在线黄色国产电影 | 免费黄色在线播放 | 亚洲一区网站 | 久久蜜臀一区二区三区av | 久久久久国产一区二区 | 久久99国产精品免费网站 | 8x8x在线观看视频 | 色婷婷视频网 | 少妇性aaaaaaaaa视频 | 久久一区91| 久久a国产 | 在线成人高清电影 | 狠狠色网 | 不卡国产在线 | 国产美女精彩久久 | 99久久激情 | 国产视频亚洲 | 亚洲综合视频网 | 亚洲欧洲精品一区二区 | 丁香花在线视频观看免费 | 一本一道久久a久久精品蜜桃 | 亚洲国产影院 | 久久亚洲视频 | 伊人小视频 | 亚洲va男人天堂 | 国产粉嫩在线 | 亚洲成a人片77777kkkk1在线观看 | 在线最新av | 在线观看国产区 | 激情丁香久久 | 视频一区二区在线 | 日韩精品免费在线播放 | www.久久免费视频 | 天躁狠狠躁 | 久久av高清 | 在线亚洲午夜片av大片 | 婷婷丁香色综合狠狠色 | 黄色成品视频 | 97精品国产97久久久久久粉红 | 69av久久| 99久久久久久国产精品 | 精品亚洲在线 | 免费观看一级一片 | 天堂av观看 | 午夜视频在线观看一区二区 | 丁香六月国产 | 国产高清视频在线免费观看 | 最近免费中文视频 | 国产裸体bbb视频 | 国产99久久久久久免费看 | 精品日韩在线一区 | 狠狠躁夜夜躁人人爽超碰91 | 91麻豆精品国产自产在线 | 中文字幕免费高清av | 综合网伊人 | 久久精品久久99 | 97免费视频在线播放 | 久久成人亚洲欧美电影 | 久久国产精品免费观看 | 色婷婷久久一区二区 | 中文字幕 国产视频 | 国产一在线精品一区在线观看 | 国产精品青草综合久久久久99 | 色播五月婷婷 | 色视频成人在线观看免 | 456免费视频| 高清不卡一区二区三区 | 伊人成人久久 | 日韩av在线网站 | 国产无遮挡又黄又爽馒头漫画 | 色婷婷狠| 免费a级黄色毛片 | 99爱视频在线观看 | 国产黄免费在线观看 | 又黄又爽又无遮挡的视频 | 中文av免费| 亚洲精品免费观看视频 | 爱色av.com| 日韩高清免费无专码区 | 丁香六月久久综合狠狠色 | 免费福利视频网 | 日韩专区在线播放 | 一本一道久久a久久精品 | 一二三区av | 三级黄色在线观看 | 国产黄色片在线免费观看 | 人人干天天干 | 热久久免费国产视频 | 日韩中字在线观看 | 在线观看完整版免费 | 粉嫩av一区二区三区四区五区 | 天天爱天天插 | 在线观看理论 | 欧美日韩中字 | 黄色av电影网 | 99高清视频有精品视频 | 97视频免费在线观看 | 国产一区二区在线播放 | 一区二区三区国 | 天海翼一区二区三区免费 | 在线免费三级 | 国产玖玖视频 | 国产一区二区三精品久久久无广告 | 亚洲在线看 | 黄色成人免费电影 | 国产视频2区 | 精品视频久久久久久 | 国产成人一区二区三区久久精品 | 最近中文字幕在线 | 四虎影视成人精品 | 久久免费视频精品 | 99国内精品 | 天天狠狠操 | 久久国产视屏 | 天天插天天射 | 久久五月情影视 | 亚洲高清视频在线观看免费 | 色av男人的天堂免费在线 | 久久综合狠狠 | 日韩三级免费观看 | www麻豆视频 | 啪啪动态视频 | 久久午夜网 | 天堂在线一区 | 色小说av| www.国产在线视频 | 免费a v视频 | 四虎影视精品永久在线观看 | 国产又粗又猛又爽又黄的视频免费 | 亚洲美女在线国产 | 丝袜美腿在线 | 国产伦理久久精品久久久久_ | 精品国产一区二区三区四区在线观看 | 99在线观看视频网站 | 免费观看久久 | 美女网站在线 | 玖玖玖精品 | 婷婷色在线观看 | 欧美性生活免费 | www.av免费| 欧美激情精品久久久久久免费印度 | 亚洲免费一级 | 色在线免费 | www色婷婷com| 99视频网址| 亚洲精品小视频在线观看 | 99精品黄色片免费大全 | 精品成人在线 | 久久精国产 | 在线免费高清 | 丝袜一区在线 | 欧美日韩亚洲国产一区 | 国产精品专区在线 | 日韩免费区 | 天天综合网久久综合网 | 97人人视频 | 久久久久久99精品 | 九九色在线观看 | 毛片1000部免费看 | 天天色天天综合 | 午夜电影av| 女女av在线 | 久久97精品 | 999久久久欧美日韩黑人 | 欧美精品在线一区二区 | 欧美粗又大 | 久久综合操 | 91免费在线视频 | 久草视频免费在线观看 | 国产精品爽爽久久久久久蜜臀 | 91热视频在线观看 | 91色九色 | 中文字幕 在线 一 二 | 久久久久综合网 | 国内精品中文字幕 | 国产精品一区二区三区四 | 91女人18片女毛片60分钟 | 免费看污的网站 | 欧美日韩国产一区二区在线观看 | jizz999| 九九热在线视频免费观看 | 欧美日韩高清国产 | 999久久久欧美日韩黑人 | 99久久精品免费看国产麻豆 | 日韩在线免费播放 | 天天爱综合 | 亚洲va男人天堂 | 久久久69| 操一草| 99久久久久国产精品免费 | 亚洲成人免费在线观看 | 国产五十路毛片 | 网站你懂的 | 国产精品一区二区三区在线播放 | 这里有精品在线视频 | 日韩在线 一区二区 | 午夜精品久久久久久久99 | 黄色91免费观看 | 三级黄色免费片 | 免费看片网站91 | 国内三级在线观看 | 久久性生活片 | 天无日天天操天天干 | 日本公妇色中文字幕 | 日韩av片无码一区二区不卡电影 | 一区二区三区免费在线观看 | 久久国产电影 | 欧美一级黄色网 | 国产精品6| 夜夜骑日日操 | 超碰97在线资源站 | 日韩中文字幕91 | 日韩欧美在线观看 | 久久综合色综合88 | 992tv在线| 国产精品久久综合 | 免费观看视频黄 | 国产伦精品一区二区三区无广告 | 中文字幕欧美激情 | 91亚洲精品久久久中文字幕 | 免费网站看av片 | 久久精品中文视频 | 午夜婷婷网 | 国产亚洲资源 | 免费高清在线一区 | 91精品蜜桃 | 国产在线v| 久久久精品一区二区 | 日韩午夜在线观看 | 天天操天天干天天爱 | 国产破处在线视频 | 在线网址你懂得 | 午夜影视剧场 | 中文字幕日韩有码 | 一区二区电影在线观看 | 波多野结依在线观看 | 91观看视频 | 日韩手机在线观看 | 又黄又刺激 | 日韩精品免费一区二区 | 欧美性色网站 | 美女视频又黄又免费 | 精品国产1区2区3区 国产欧美精品在线观看 | 久久久久成人免费 | 久久久国产精品一区二区三区 | 国产一区二区在线影院 | 天天天天天天天操 | 在线观看亚洲免费视频 | 亚洲高清网站 | 五月天久久 | 亚洲伦理一区 | 伊甸园av在线 | 亚洲欧美视频在线 | 久久久午夜精品理论片中文字幕 | 色丁香久久 | 天天操夜夜叫 | 久久久久国产成人精品亚洲午夜 | 欧美激情视频一区 | 午夜少妇av | 国产成人精品亚洲日本在线观看 | 在线观看黄a | 久久久亚洲影院 | 国产精品一区二区62 | 国产在线观看国语版免费 | 青青草在久久免费久久免费 | 在线观看国产日韩欧美 | 亚洲激情av | 国产精品美女在线 | 欧美精品国产精品 | 91av久久 | 97热视频 | 成人在线视频免费 | 免费在线国产 | 9在线观看免费高清完整版 玖玖爱免费视频 | 手机av片| 娇妻呻吟一区二区三区 | 蜜臀久久99精品久久久久久网站 | 久久久久久久久久久久久国产精品 | 中文字幕丰满人伦在线 | 91香蕉亚洲精品 | 黄色成人小视频 | 韩国三级av在线 | 亚洲深夜影院 | 五月激情亚洲 | 久久久免费毛片 | 成人av在线网址 | 日韩成人免费在线观看 | 午夜.dj高清免费观看视频 | 日韩免费一区二区 | 中国一级片免费看 | 黄色一集片| 免费观看性生交 | a国产精品| 色窝资源| 久草久热| 最近中文字幕大全中文字幕免费 | 久久精品之 | 久久婷婷精品 | 美女一二三区 | 久久99精品久久只有精品 | 欧美激情综合网 | 天天操天天怕 | 偷拍精品一区二区三区 | 日韩高清在线不卡 | 国产 亚洲 欧美 在线 | 国产日韩欧美在线播放 | 久久婷婷国产色一区二区三区 | 国产又粗又长又硬免费视频 | 99re亚洲国产精品 | 久久在线免费视频 | 五月天色综合 | 黄色小说在线观看视频 | 激情婷婷 | 国产伦精品一区二区三区免费 | www狠狠 | 国产精品午夜久久久久久99热 | 天天做天天爱天天综合网 | 中文字幕高清视频 | 久久综合国产伦精品免费 | 久久久久久久久久久久久久av | 欧美日韩精品在线观看 | 国产福利网站 | 久草视频免费在线播放 | 婷婷午夜天 | 国产美女精品久久久 | jizz欧美性9| 久久精品人 | 在线天堂中文www视软件 | 日本精品免费看 | 亚洲不卡在线 | 免费观看www7722午夜电影 | 二区视频在线观看 | 久草视频免费看 | 玖操| 二区在线播放 | 日日夜夜噜噜噜 | 亚洲理论视频 | 精品不卡av | 久久精品福利 | 麻豆手机在线 | 日韩在线观看影院 | 国产午夜精品一区二区三区在线观看 | 亚洲精品色视频 | 久久av在线 | 日韩精品最新在线观看 | 久草在线视频首页 | 狠狠操狠狠干天天操 | 精品亚洲免费 | 久久综合9988久久爱 | 91久久人澡人人添人人爽欧美 | 久久免费视频在线观看 | 九九色视频 | 91久久国产露脸精品国产闺蜜 | 色天堂在线视频 | 日韩一级电影在线 | 中文字幕国产精品 | 欧美日性视频 | 最近高清中文在线字幕在线观看 | 91视频传媒| 日韩午夜小视频 | 91香蕉视频在线 | 国产不卡一 | 中文字幕在线观看第二页 | 狠狠的日 | 成人午夜电影网站 | 九九在线国产视频 | 国产视频不卡一区 | 69欧美视频 | 成人免费看黄 | 欧美激情va永久在线播放 | 日韩色综合网 | 久久黄色网址 | 久久99精品国产91久久来源 | 久久久精品一区二区三区 | 欧美日韩一区二区视频在线观看 | 66av99精品福利视频在线 | 西西大胆免费视频 | 日日摸日日添夜夜爽97 | 91av视频在线观看免费 | 久久黄色片 | 国产精品久久久久久久久久久不卡 | 免费av电影网站 | 人成在线免费视频 | 久草观看| 超级av在线 | 欧美性色19p | 欧美天天干 | www.久久com | 99免费在线观看 | 少妇精69xxtheporn| 久久久av电影 | 国产精品久久久久久久久婷婷 | 亚洲毛片在线观看. | 日韩欧美一级二级 | 国产亚洲精品久久久久久 | 福利网址在线观看 | 五月婷婷免费 | 日韩欧美在线播放 | 久久久五月天 | 婷婷久久久久 | 国产日韩精品一区二区三区 | 91亚色免费视频 | 久久久人人爽 | 欧美天天综合 | 国产日韩欧美视频 | 九九免费在线观看视频 | 一级成人免费视频 | 日本在线观看一区 | 国产手机在线视频 | 日韩高清免费观看 | 国产91在线免费视频 | 久久艹综合 | 国产精品成人免费精品自在线观看 | 亚洲 欧洲av| 久久国产影院 | 久久久www成人免费毛片麻豆 | 免费日p视频 | 免费看麻豆 | 免费看黄色毛片 | 9999激情| 国产精品日韩在线观看 | 99久久久国产精品免费观看 | 国产二区电影 | 欧美不卡在线 | 俺要去色综合狠狠 | 日韩精品中文字幕久久臀 | 成年人网站免费观看 | 国产日产精品一区二区三区四区的观看方式 | 午夜私人影院久久久久 | 欧美激情在线看 | 99国产精品久久久久老师 | 精品国产免费人成在线观看 | 成人a级大片 | 91日韩在线播放 | 日韩av高清在线观看 | 久久精品国产精品 | 日韩三级.com | 亚洲不卡123 | 亚洲国产成人精品在线 | 亚洲欧洲精品一区二区 | 亚洲国产精品日韩 | 日本黄色免费观看 | 欧美日韩性 | 二区视频在线 | 久久99精品一区二区三区三区 | 午夜色大片在线观看 | 不卡的av电影在线观看 | 手机看片| 国产手机精品视频 | 91男人影院 | 精品久久久久久一区二区里番 | 亚洲精品在线免费看 | 国产精品久久电影观看 | 久久综合九色欧美综合狠狠 | 在线观看日韩免费视频 | 韩国av免费观看 | 91九色自拍 | 日韩黄色免费看 | 五月天久久狠狠 | 91探花国产综合在线精品 | www.五月天色 | 一区二区三区动漫 | 日日夜夜av | 久久福利剧场 | 色www精品视频在线观看 | 久久字幕精品一区 | 激情网站免费观看 | 久久久久久久18 | 国产成人亚洲在线电影 | 在线观看免费视频你懂的 | 97碰碰视频 | 国产一二三四在线观看视频 | 国产成人一区二区三区免费看 | 天天射天天干天天爽 | 国产91免费在线 | 九九国产精品视频 | 亚洲欧美在线综合 | 国产一区在线视频播放 | 成人资源在线观看 | 一区二区三区在线看 | 亚洲免费精彩视频 | 国产露脸91国语对白 | 久久久首页 | 成人在线免费小视频 | 福利一区二区三区四区 | 色综合激情网 | 国产精品乱码在线 | 中文国产字幕 | 青春草国产视频 | 最近免费观看的电影完整版 | 色噜噜狠狠狠狠色综合 | 日本丶国产丶欧美色综合 | 国产亚洲va综合人人澡精品 | 中文字幕在线观看免费观看 | 亚洲国产成人精品在线观看 | 亚洲欧美日韩国产一区二区三区 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 国产99久久久久久免费看 | 午夜精品久久久 | 91福利区一区二区三区 | 五月婷婷激情综合 | 99这里只有久久精品视频 | 久久99久国产精品黄毛片入口 | 黄色www免费 | 日韩网| 一级做a视频 | 国产成人黄色片 | 亚洲午夜精品久久久久久久久 | 亚洲人精品午夜 | av免费看在线 | 九九九电影免费看 | 特级毛片在线观看 | 亚洲综合激情网 | 最新日本中文字幕 | 中文字幕在线专区 | 国产一级二级视频 | 久久看片网站 | 亚洲一区二区三区在线看 | 日韩精品在线观看av | 日韩免费高清在线观看 | 亚洲理论片 | 国产成人亚洲在线观看 | 99久久国产免费,99久久国产免费大片 | 中文字幕一区二区三区精华液 | 国产理论一区二区三区 | 国产女教师精品久久av | 午夜天使| 黄色小说18 | 欧美另类xxx | 精产嫩模国品一二三区 | 成人免费在线看片 | 午夜视频在线观看一区 | 天天爱综合 | 亚洲一区视频免费观看 | 国产精品久久久久久久久久三级 | www免费| 四虎永久免费网站 | 日韩精品免费在线观看视频 | 91香蕉国产在线观看软件 | 亚洲在线网址 | 国产一级电影在线 | 国语自产偷拍精品视频偷 | 中文字幕免费一区二区 | 日韩免费中文字幕 | 日韩成人邪恶影片 | 丁香六月婷婷激情 | 婷婷丁香狠狠爱 | 又粗又长又大又爽又黄少妇毛片 | 国产成人av在线 | 操操色 | 亚洲区另类春色综合小说校园片 | 成人免费看片网址 | 国产精品视频最多的网站 | 色诱亚洲精品久久久久久 | 日韩首页| 97精品国产aⅴ | 麻豆免费视频网站 | 中文字幕在线观看免费高清完整版 | 狠狠88综合久久久久综合网 | 成人午夜在线电影 | 91久久国产综合精品女同国语 | 国产不卡毛片 | 97国产电影 | 91av在线电影 | 亚洲精品乱码 | 激情影音 | 国产精品 国产精品 | 超黄视频网站 | 人人躁| 亚洲在线国产 | 国产专区日韩专区 | 免费a网 | 日韩二区三区 | 中文亚洲欧美日韩 | 麻豆av电影 | 国产 在线观看 | 国产第一福利 | 最新真实国产在线视频 | 麻豆视频免费看 | 国产精品欧美日韩在线观看 | 久久福利剧场 | 国产免费区 | 婷久久 | 日韩一三区 | 成人av地址 | 国产69精品久久99的直播节目 | 亚洲国产成人在线 | 狠狠狠狠狠狠 | 天天视频色版 | 亚洲精品中文字幕视频 | 婷婷激情影院 | 精品理论片 | 性色av一区二区三区在线观看 | 免费h漫在线观看 | 国产精品美女免费 | 久久一区国产 | 在线观看黄色免费视频 | 久久精品导航 | 中文字幕乱码一区二区 | 96av视频| 91 在线视频播放 | 日本精品一区二区 | 香蕉在线影院 | 91理论片午午伦夜理片久久 | 国产人成一区二区三区影院 | 99精品欧美一区二区三区 | 成人久久久久久久久 | 亚洲欧美婷婷六月色综合 | 国产精品久久电影观看 | 日韩在线高清 | 亚洲一级理论片 | 成人黄大片视频在线观看 | 久久99热久久99精品 | 久久久精品国产免费观看同学 | 久久精品一区二区国产 | 西西444www大胆高清图片 | 亚洲综合导航 | 中文字幕免费看 | 久久艹在线观看 | 97狠狠操 | 探花视频在线观看+在线播放 | 久久久免费视频播放 | 久久乐九色婷婷综合色狠狠182 | 91人人人| 中文字幕国产一区二区 | 91黄色成人 | 亚洲国产欧美在线人成大黄瓜 | 91av成人| 久久人人爽人人爽 | 国产精品免费不 | 亚洲免费在线观看视频 | av中文字幕不卡 | 国产精品免费在线视频 | 国产精品美乳一区二区免费 | 色在线国产 | 免费人人干 | 黄色一级网| 日韩 国产 | 欧美一级电影 | 久久国产精品一区二区三区四区 | 亚洲国产美女精品久久久久∴ | 中文资源在线播放 | 久久9999久久免费精品国产 | 欧美性生活一级片 | 免费看黄视频 | 黄色电影小说 | 色姑娘综合天天 | 久青草影院 | 日本视频精品 | 久久精品视频在线免费观看 | 伊人久久精品久久亚洲一区 | 超碰免费观看 | 久久精品久久精品久久 | 成年人免费观看国产 | 国产特级毛片aaaaaa毛片 | 97视频人人澡人人爽 | 亚洲日日射 | 免费黄a大片 | 98精品国产自产在线观看 | 天堂网av在线 | 91porny九色在线播放 | 探花视频在线观看免费 | 99久久99热这里只有精品 | 婷婷久久亚洲 | 久久色视频 | 日韩在线免费电影 | 欧美精品v国产精品v日韩精品 | 亚洲欧洲成人精品av97 | 国产中文 | 一区二区三区高清不卡 | 欧美精品乱码久久久久 | 欧美日韩久久一区 | 97视频在线观看免费 | 久久亚洲专区 | 日韩大片在线播放 | 欧美大片第1页 | 成人一区二区三区在线 | 中文字幕亚洲欧美 | 99久久99久久精品国产片 | 看v片| 色婷婷激情电影 | 黄网站免费久久 | av免费网| 天天射天天操天天 | 国产精品久久久久久久久久久久午夜片 | 久久精品中文字幕 | 五月天六月丁香 | 国产精品成人品 | 免费在线观看污 | 欧美日韩不卡在线观看 | 日韩av电影免费在线观看 | 偷拍视频一区 | 日本黄区免费视频观看 | 免费日韩电影 | 成人av影视在线 | 天天天综合网 | 亚洲视频精品 | 粉嫩aⅴ一区二区三区 | 久久久精品一区二区 | 欧美日韩一区二区三区在线免费观看 | 麻豆视频入口 | 欧美在线91 | 国产精品成人自产拍在线观看 | 九九免费在线看完整版 | avwww在线 | 国产乱码精品一区二区蜜臀 | 国产免费视频一区二区裸体 | 午夜久久美女 |