皮膚鏡圖片毛發去除


1 皮膚鏡毛發去除的目的

根據皮膚鏡圖片對皮膚病變種類進行分類是一個常規的研究話題,在深度學習時代,會將標注好的數據進行訓練,學習皮膚病變的特征,而圖片中常常會有毛發干擾,這是我們不需要的特征,也不希望網絡學習到這個特征,因此在數據預處理階段,可以使用一些傳統圖像處理算法對圖像進行處理。

2 方法

  • 首先將圖像轉為灰度
  • 定義一個十字的kernel,對灰度圖進行黑帽(形態學)操作
  • 利用閾值分割得到mask
  • 利用opencv的inpaint方法對圖像修復

3 代碼

import cv2
def DHR(imgpath,outpath):
    
    src = cv2.imread(imgpath)
    grayScale = cv2.cvtColor(src, cv2.COLOR_RGB2GRAY )
    cv2.imwrite("grey.jpg",grayScale)
    kernel = cv2.getStructuringElement(cv2.MORPH_CROSS,(10,10))
    blackhat = cv2.morphologyEx(grayScale, cv2.MORPH_BLACKHAT, kernel)
    cv2.imwrite("blackhat.jpg",blackhat)
    ret,thresh2 = cv2.threshold(blackhat,10,255,cv2.THRESH_BINARY)
    cv2.imwrite("threshold.jpg",thresh2)
    dst = cv2.inpaint(src,thresh2,1,cv2.INPAINT_TELEA)
    cv2.imwrite(outpath, dst, [int(cv2.IMWRITE_JPEG_QUALITY), 100])

4 結果

依次是原圖、灰度圖、黑帽操作、mask、利用mask圖像修復


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM