皮膚鏡圖片毛髮去除

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圖像修復網絡





相關文章
相關標籤/搜索