2015-06-15 16 views
5

Resim işlemeye çalışıyorum. Bir RGB yaprak fotoğrafı var ve ben sadece yaprağın kendisini dışarıda bırakmak istiyorum.MATLAB - Resimdeki gölgeli arka plan nasıl kaldırılır

benim takip prosedürü

  1. Ben

enter image description here

BW için

  • 5x5 medyan filtreyi
  • dönüştürme uygula gri tonlama dosyadan
  • dönüştürme görüntü okumak olduğunu enter image description here

    Sağ alt köşedeki gölgeyi gördüğünüz gibi BW görüntüsüne yapışır. Sadece yaprağı seçmek için bir yöntem var mı. Bunun yerine gri tonlama görüntüye dönüştürme

    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); 
    
  • +3

    Neden gri tonlama dönüştürebilirim? Belki HSV'ye dönüştürebilir ve bir renk tonu aralığına göre yaprağı seçebilirsiniz. Bkz. [Bu anwer] (http://stackoverflow.com/a/4064205/2586922) –

    +0

    @LuisMendo Bunu hiç düşünmemiştim. Yapmaya çalışacağım. – zkanoca

    cevap

    1

    , ben HSV dönüştürmek ve V katılmak. Şimdi daha iyi sonuç veriyor.

    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); 
    

    enter image description here