세분화시 스킨 파트를 제거하는 방법?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
안녕하세요. 색상 기반 대안을 찾고 있습니다. –
예, 가장자리 감지를 시도하십시오! –