Përmbajtje:

Zbulimi i lehtë i fytyrës MATLAB: 4 hapa
Zbulimi i lehtë i fytyrës MATLAB: 4 hapa

Video: Zbulimi i lehtë i fytyrës MATLAB: 4 hapa

Video: Zbulimi i lehtë i fytyrës MATLAB: 4 hapa
Video: RTX 3090 Ti vs RTX 3060 Ultimate Showdown for Stable Diffusion, ML, AI & Video Rendering Performance 2024, Nëntor
Anonim
Zbulimi i lehtë i fytyrës MATLAB
Zbulimi i lehtë i fytyrës MATLAB

Qëllimi kryesor i këtij udhëzuesi është të tregojë se sa i lehtë do të jetë përpunimi i imazhit, me ndihmën e MATLAB

Zbulimi dhe gjurmimi i fytyrës ka qenë një fushë kërkimore e rëndësishme dhe aktive, prandaj unë do të shpjegoj se si mund të bëhet me Matlab.

Në tutorialin e mëposhtëm do të bëj gjërat e mëposhtme:

1. zbulimi i fytyrave në një imazh dhe numërimi.

2. zbulimi i syve të njeriut në një imazh dhe numërimi.

3. zbulimi i gojës së njeriut në një imazh dhe numërimi.

4. zbulimi i fytyrave në një video dhe numërimi.

5. zbulimi i syve të njeriut në një video dhe numërimi.

6. zbulimi i gojës së njeriut në një video dhe numërimi.

Hapi 1: Zbulimi i fytyrave në një imazh dhe numërimi

Zbulimi i fytyrave në një imazh dhe numërimi
Zbulimi i fytyrave në një imazh dhe numërimi

SHKRIM MATLAB:

pastroni të gjithë % pastroni të gjitha objektetclc % ekran të qartë

FDetect = vision. CascadeObjectDetector; %Zbuloni objektet duke përdorur algoritmin Viola-Jones

%Lexoni imazhin hyrës

image = imread ('c: / Deskotp / HarryPotter.jpg'); %ngarkoni imazhin duke përdorur imread ('vendndodhja e skedarit / name.jpg')

BB = hapi (FDetect, image); %Kthen vlerat e Kutisë së Kufizuar bazuar në numrin e objekteve

figurë, shfaqje (I);

prit

për i = 1: madhësia (BB, 1)

drejtkëndësh ('Pozicioni', BB (i,:), 'LineWidth', 5, 'LineStyle', '-', 'EdgeColor', 'r'); %r-kuqe, g-jeshile, b-blu

fund

titulli ('Zbulimi i fytyrës'); %titulli i stokut të shlyerjes;

Rezultati do të jetë si imazhi i bashkangjitur në këtë hap

Për të numëruar numrin e fytyrave të zbuluara:

pastroni të gjithë % pastroni të gjitha objektetclc % ekran të qartë

FDetect = vision. CascadeObjectDetector; %Zbuloni objektet duke përdorur algoritmin Viola-Jones %Lexoni imazhin hyrës

image = imread ('c: / Deskotp / HarryPotter.jpg'); %ngarkoni imazhin duke përdorur imread ('vendndodhja e skedarit / name.jpg')

BB = hapi (FDetect, image); %Kthen vlerat e Kutisë së Kufizuar bazuar në numrin e objekteve

figura,

imshow (I);

prit

për i = 1: madhësia (BB, 1)

drejtkëndësh ('Pozicioni', BB (i,:), 'LineWidth', 5, 'LineStyle', '-', 'EdgeColor', 'r'); %r-kuqe, g-jeshile, b-blu

fund

tekst (10, 10, strcat ('\ ngjyra {e kuqe} Numri i fytyrave =', num2str (gjatësia (BB)))); Kjo linjë ju jep numërimin

titulli ("Zbulimi i fytyrës"); %titulli i figurës

mbaje mendjen;

Hapi 2: Zbulimi i syve të njeriut në një imazh dhe numërimi

Zbulimi i syve të njeriut në një imazh dhe numërimi
Zbulimi i syve të njeriut në një imazh dhe numërimi

SHKRIM MATLAB:

pastroji të gjitha;

clc;

%Për të zbuluar EyesEyeDetect = vision. CascadeObjectDetector ('EyePairBig');

%Lexoni hyrjen

image = imread ('c: / Deskotp / HarryPotter.jpg'); %ngarkoni imazhin duke përdorur imread ('vendndodhja e skedarit / name.jpg')

BB = hapi (EyeDetect, imazhi);

figura,

shfaqje (imazh);

drejtkëndësh ('Position', BB, 'LineWidth', 4, 'LineStyle', '-', 'EdgeColor', 'b');

titulli ('Zbulimi i Sytë');

Rezultati do të jetë si imazhi i bashkangjitur në këtë hap vetë

Për të numëruar numrin e syve të zbuluar:

pastroni të gjitha; clc; %Për të zbuluar Sytë

EyeDetect = vision. CascadeObjectDetector ('EyePairBig');

image = imread ('c: / Deskotp / HarryPotter.jpg'); %ngarkoni imazhin duke përdorur imread ('vendndodhja e skedarit / name.jpg')

BB = hapi (Zbulimi i syrit, imazhi); figura, shfaqja (imazhi); drejtkëndësh ('Position', BB, 'LineWidth', 4, 'LineStyle', '-', 'EdgeColor', 'b');

tekst (10, 10, strcat ('\ ngjyra {e kuqe} Numri i syve =', num2str (gjatësia (BB))));

titulli ('Zbulimi i Sytë');

Hapi 3: Zbulimi i gojës së njeriut në një imazh dhe numërimi

Zbulimi i gojës së njeriut në një imazh dhe numërimi
Zbulimi i gojës së njeriut në një imazh dhe numërimi

SHKRIM MATLAB:

pastroji të gjitha;

clc;

%Për të zbuluar gojën

MouthDetect = vision. CascadeObjectDetector ('Goja', 'MergeThreshold', 16);

%Lexoni imazhin hyrës = imread ('c: / Deskotp / HarryPotter.jpg'); %ngarkoni imazhin duke përdorur imread ('vendndodhja e skedarit / name.jpg')

BB = hapi (Zbulimi i gojës, imazhi);

figurë, shfaqje (imazh);

prit

për i = 1: madhësia (BB, 1)

drejtkëndësh ('Pozicioni', BB (i,:), 'LineWidth', 4, 'LineStyle', '-', 'EdgeColor', 'r');

fund

titulli ("Zbulimi i gojës");

mbaje mendjen;

Rezultati do të jetë si imazhi i bashkangjitur në këtë hap vetë

Për të numëruar numrin e gojës së zbuluar:

pastroji të gjitha; clc; %Për të zbuluar gojën

MouthDetect = vision. CascadeObjectDetector ('Goja', 'MergeThreshold', 16); %Lexoni hyrjen

image = imread ('c: / Deskotp / HarryPotter.jpg'); %ngarkoni imazhin duke përdorur imread ('vendndodhja e skedarit / name.jpg') BB = hapi (Zbulimi i gojës, imazhi);

figurë, shfaqje (imazh);

prit

për i = 1: madhësia (BB, 1)

drejtkëndësh ('Pozicioni', BB (i,:), 'LineWidth', 4, 'LineStyle', '-', 'EdgeColor', 'r');

fund

tekst (10, 10, strcat ('\ ngjyra {e kuqe} Numri i gojëve =', num2str (gjatësia (BB))));

titulli ("Zbulimi i gojës");

mbaje mendjen;

Hapi 4: Zbulimi i fytyrave, syve, gojës në një video dhe numërimi

pastroji të gjitha;

mbyll të gjitha;

clc;

% Regjistroni kornizat e videos duke përdorur funksionin e hyrjes video % Ju duhet të zëvendësoni rezolucionin dhe emrin e përshtatësit tuaj të instaluar.

a = vizion. CascadeObjectDetector; %për të zbuluar fytyrën

% a = vision. CascadeObjectDetector ('Goja', 'MergeThreshold', 16); %për të zbuluar gojën

% a = vision. CascadeObjectDetector ('EyePairBig'); %për të zbuluar sytë

%përdorin vetëm cilindo (fytyrë/sy/gojë)

vid = videoinput ('winvideo', 1, 'yuy2_320x240'); % Vendosni vetitë e objektit të videos

set (vid, 'FramesPerTrigger', Inf);

set (vid, 'ReturnedColorspace', 'rgb');

vid. FrameGrabInterval = 5; %filloni marrjen e videos këtu

fillimi (vid) % Vendosni një lak që ndalet pas 100 kornizave të blerjes

ndërsa (vid. FramesAcired <= 200) % Merrni fotografinë e kornizës aktuale

të dhëna = merrnapshot (vid);

shfaqje (të dhëna);

b = hapi (a, të dhëna);

prit

për i = 1: madhësia (b, 1)

drejtkëndësh ('pozicioni', b (i,:), 'gjerësia e linjës', 2, 'stili i linjës', '-', 'EdgeColor', 'r');

fund

mbaje mendjen

tekst (10, 10, strcat ('\ ngjyra {jeshile} Numri i fytyrave =', num2str (gjatësia (b))));

fund

ndal (vid); % Ndaloni marrjen e videos

Recommended: