簡體   English   中英

MATLAB - 如何消除圖像上的陰影背景

[英]MATLAB - How to eliminate shadowed background on an image

我正在嘗試處理圖片。 有一張RGB葉子照片,我想只提取葉子本身。

我遵循的程序是

  1. 我從文件中讀取圖像
  2. 轉換為灰度
  3. 應用5x5中值濾波器
  4. 轉換為BW

在此輸入圖像描述

在此輸入圖像描述

如您所見,右下角的陰影會粘在BW圖像上。 有沒有一種方法只選擇葉子。

I = imread(files{404});

hcsc = vision.ColorSpaceConverter;        
hcsc.Conversion = 'RGB to intensity';       
Ig = step(hcsc, I);

medFilt= vision.MedianFilter([f f]);
Ig = step(medFilt, Ig);

at = vision.Autothresholder;        
Ibw = step(at, Ig);

我將其轉換為HSV並取其V部分,而不是轉換為灰度圖像。 現在效果更好。

I = imread(files{404});

I = rgb2hsv(I);

Ig = I(:,:,3);

medFilt= vision.MedianFilter([f f]);
Ig = step(medFilt, Ig);

at = vision.Autothresholder;        
Ibw = step(at, Ig);

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM