ssa

Форк
0
/
skinmap.m 
49 строк · 1.5 Кб
1
function [out, bin] = skinmap(img_orig)
2

3
%   The function reads an image file given by the input parameter string
4
%   filename, read by the MATLAB function 'imread'.
5
%   out - contains the skinmap overlayed onto the image with skin pixels
6
%   marked in blue color.
7
%   bin - contains the binary skinmap, with skin pixels as '1'.
8
%    
9
    if nargin > 1 || nargin < 1
10
        error('usage: generate_skinmap(image)');
11
    end
12
    
13
    %Read the image, and capture the dimensions
14
    height = size(img_orig,1);
15
    width = size(img_orig,2);
16
    
17
    %Initialize the output images
18
    out = img_orig;
19
    bin = zeros(height,width);
20
    
21
         img = img_orig;
22
    %Apply Grayworld Algorithm for illumination compensation
23
%     Êîìïåíñàöèÿ ÿðêîñòè
24
% figure(); imshow(img_orig); title('Èñõîäíîå ôîòî');
25
%             A_lin = rgb2lin(img_orig);
26
%             percentiles = 10;
27
%             illuminant = illumgray(A_lin,percentiles);
28
%             B_lin = chromadapt(A_lin,illuminant,'ColorSpace','linear-rgb');
29
%             img = lin2rgb(B_lin);
30
% figure(); imshow(img); title('Îáðàáîòàííîå ôîòî');
31
    
32
    %Convert the image from RGB to YCbCr
33
    img_ycbcr = rgb2ycbcr(img);
34
    Cb = img_ycbcr(:,:,2);
35
    Cr = img_ycbcr(:,:,3);
36
    
37
    %Convert to HUE
38
    [hue,~,~] = rgb2hsv(img);
39
    
40
    %Detect Skin
41
    [r,c,~] = find(Cb>=98 & Cb<=142 & Cr>=135 & Cr<=177 & hue<=0.1 & 0.01<=hue);
42
    numind = size(r,1);
43
    
44
    %Mark Skin Pixels
45
    for i=1:numind
46
        out(r(i),c(i),:) = [0 0 255];
47
        bin(r(i),c(i)) = 1;
48
    end
49
end
50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.