2016-10-04 10 views
0

セグメンテーションでスキンパーツを削除するには?Matlab:セグメンテーションでスキン部分を削除

最初に、この最初の画像を小さくしました。画像はなんとなく威圧的ですから、最後の部分に画像を付けます。

enter image description here

私はRGB & YCbCrのセグメンテーションを使用していますが、セグメント化がうまく機能しなかったようです。

clear all; 
    close all; 
    clc; 

    img=imread('acne.jpg'); 


%ycbcr segmentation 
    img_ycbcr=img; %image from the previous segmentation 
    ycbcr=rgb2ycbcr(img_ycbcr); 
    cb=ycbcr(:,:,2); 
    cr=ycbcr(:,:,3); 


    %Detect Skin 
    %[r,c,v] = find(cb>=77 & cb<=127 & cr>=133 & cr<=173); 
    [r c v] = find(cb<=77 | cb >=127 | cr<=133 | cr>=173); 
    numid = size(r,1); 

    %Mark Skin Pixels 
    for i=1:numid 
     img_ycbcr(r(i),c(i),:) = 0; 
     % bin(r(i),c(i)) = 1; 
    end 

    figure 
    title('ycbcr segmentation'); 
    imshow(img_ycbcr); 

%============================================================== 
    %rgb segmentation 

img_rgb=img_ycbcr; 
r=img_rgb(:,:,1); 
g=img_rgb(:,:,2); 
b=img_rgb(:,:,3); 


[row col v]= find(b>0.79*g-67 & b<0.78*g+42 & b>0.836*g-14 & b<0.836*g+44); %non skin pixels 
numid=size(row,1); 

for i=1:numid 
    img_rgb(row(i),col(i),:)=0; 
end 


figure 
imshow(img_rgb); 

enter image description here

ここに私のサンプル:

enter image description here

+3

純粋に色あせて、これは悪夢で、写真の上には、にきびと明るい肌があります白、ほぼ同じ色です。私は色分解だけでこれを行うことは難しいと思われます。周囲:白い部分はほぼ白いですが、赤いリングなどで囲まれています – Adriaan

+0

こんにちは、ありがとう、私は色の代替のための代替を探しています。 –

+0

ええ、エッジ検出を試してみてください! –

答えて

2

私はアドリアンに同意します。単なる色では行かないでください。形や端などの追加情報を使用してください。

最後の2 colorplanesは最もコントラストを持っているように見えるので、のは、それらのいずれかを使用してみましょう:

Nipple = imread('N8y6Q.jpg') 

Nipple = imadjust(Nipple(:,:,2)); 

imshow(Nipple) 

grayscale of the green plane of the image

[centers, radii] = imfindcircles(Nipple, [30,60]); 

hold on 

imshow(Nipple); 
viscircles(centers, radii); 

grayscale with segmented area

円形ハフ変換することは堅牢な方法でありますおおよその半径範囲を知っていて、およその半径範囲に満足すれば、円形オブジェクトを見つけることができます。オブジェクトの位置とサイズ。

他の古典的な方法を試すことができます。 (Canny)エッジ検出、マーカーとしてのハフ中心点の使用 - >領域の成長、ヘビのフィッティングなど

+0

ほんの少しの発言:それはニキビではなく、ニップルです。そうでなければ、医者に行きたいかもしれません... – Adriaan

+0

私は気付きました。私は変数名でそれを羽ばたきたい、馬鹿なことは覚えやすいです。それは関連性がなくても習慣になります。うん、コードを与えることは厄介かもしれない.. – Tapio

関連する問題