セグメンテーションでスキンパーツを削除するには?Matlab:セグメンテーションでスキン部分を削除
最初に、この最初の画像を小さくしました。画像はなんとなく威圧的ですから、最後の部分に画像を付けます。
私は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);
ここに私のサンプル:
純粋に色あせて、これは悪夢で、写真の上には、にきびと明るい肌があります白、ほぼ同じ色です。私は色分解だけでこれを行うことは難しいと思われます。周囲:白い部分はほぼ白いですが、赤いリングなどで囲まれています – Adriaan
こんにちは、ありがとう、私は色の代替のための代替を探しています。 –
ええ、エッジ検出を試してみてください! –