• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    通過OTSU二值方法進行膚色檢查(python)

    手勢識別中起首要進行膚色查抄,判定hand在那邊,常用的方式有好幾種,先來介紹比力傳統的OTSU二值方式。

    東西/原料

    • pycharm python 編纂器
    • windows7情況 opencv 模塊

    方式/步調

    1. 1

      我們知道YUV色彩模子源于RGB模子,亮度和色度分手開,適合于圖像處置。

      YCbCr模子來歷于YUV模子,多用于數字視頻。好比H.264(用過FFMPEG的都知道)

      YCrCb合用于顯示器

       Y指亮度分量,Cb指藍色色度分量,而Cr指紅色色度分量

    2. 2

      import cv2  as cv

      import  numpy as np

      from random 

      import random from random 

      import randint

      image = cv.imread('c:\\handtest.jpg', cv.IMREAD_COLOR)

      cv.imshow("image", image)

    3. 3

      YCrCb = cv.cvtColor(image, cv.COLOR_BGR2YCrCb) 

      # 把圖像轉換到YCrCb

      cv.imshow("YCrCb", YCrCb)

    4. 4

      # 別離獲取Y, Cr, Cb通道圖像

      (Y, Cr, Cb) = cv.split(YCrCb) 

      cv.imshow("Y", Y)

      cv.imshow("Cr", Cr)

      cv.imshow("Cb", Cb)

    5. 5

      # 高斯濾波, 

      對紅色分量進行高斯濾波 消弭邊緣的影響  采用(5, 5)核

      GaussianBlur = cv.GaussianBlur(Cr, (5, 5), 0)      

      cv.imshow("GaussianBlur", GaussianBlur)

    6. 6

      # 用經典的OTSU算法 二值化圖像

      ret, threshold = cv.threshold(GaussianBlur, 0, 255, cv.THRESH_BINARY + cv.THRESH_OTSU)

      cv.imshow("threshold", threshold )

      cv.waitKey(0)cv.destroyAllWindows()

    7. 7

      小結:

      二值化方式檢測是可以實現膚色檢測的,可是不完美有些離散斑塊

    注重事項

    • 長處:cv.threshold 簡單易操作
    • 錯誤謬誤: 有些許離散斑塊
    • 發表于 2019-03-26 20:01
    • 閱讀 ( 1093 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆