Wie Hautteile bei der Segmentierung entfernen?Matlab: Hautteil bei Segmentierung entfernen
Zuerst machte ich dieses erste Bild kleiner, da das Bild irgendwie einschüchternd ist, gebe ich das Bild am Ende ab.
Ich bin mit RGB & ycbcr Segmentierung, aber es scheint die Segmentierung nicht gut funktionierte.
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);
Hier mein Beispiel:
Rein farbig ist dies ein Albtraum, sowohl die Akne als auch die helle Haut oben auf dem Bild sind weiß, fast die gleiche Farbe. Ich vermute, dass dies mit nur der Farbtrennung schwierig sein wird, müssten Sie z.B. die Umgebung: ist der weiße Bereich etwa weiß, ist es von einem roten Ring etc. umgeben – Adriaan
Hallo danke Ich suche eine Alternative für Farbe basiert. –
Ja, versuchen Sie eine Kantenerkennung! –