Indholdsfortegnelse:

MATLAB Let ansigtsregistrering: 4 trin
MATLAB Let ansigtsregistrering: 4 trin

Video: MATLAB Let ansigtsregistrering: 4 trin

Video: MATLAB Let ansigtsregistrering: 4 trin
Video: Let meaning in hindi || let ka matlab kya hota hai || word meaning english to hindi 2024, November
Anonim
MATLAB Let ansigtsregistrering
MATLAB Let ansigtsregistrering

Hovedformålet med disse instruktører er at vise, hvor let billedbehandlingen vil være, ved hjælp af MATLAB

Ansigtsregistrering og sporing har været et vigtigt og aktivt forskningsfelt, så derfor vil jeg forklare, hvordan det kan gøres med Matlab.

I den følgende vejledning skal jeg gøre nedenstående ting:

1. detektere ansigter i et billede og tælle.

2. opdage menneskelige øjne i et billede og tælle.

3. detektere menneskelig mund i et billede og tælle.

4. detektere ansigter i en video og tælle.

5. opdage menneskelige øjne i en video og tælle.

6. opdage menneskelig mund i en video og tælle.

Trin 1: Registrering af ansigter i et billede og optælling

Registrering af ansigter i et billede og optælling
Registrering af ansigter i et billede og optælling

MATLAB SCRIPT:

clear all % clear all objectsclc % clear screen

FDetect = vision. CascadeObjectDetector; %Find objekter ved hjælp af Viola-Jones-algoritme

%Læs inputbilledet

image = imread ('c: / Deskotp / HarryPotter.jpg'); %indlæse billedet ved hjælp af imread ('filplacering / navn.jpg')

BB = trin (FDetect, billede); %Returnerer grænseværdier baseret på antal objekter

figur, imshow (I);

hold fast

for i = 1: størrelse (BB, 1)

rektangel ('Position', BB (i,:), 'LineWidth', 5, 'LineStyle', '-', 'EdgeColor', 'r'); %r -rød, g-grøn, b-blå

ende

titel ('Ansigtsregistrering'); %titel på figuren fra;

Resultatet vil være som billedet, der blev vedhæftet i dette trin selv

Sådan tæller du det registrerede antal ansigter:

clear all % clear all objectsclc % clear screen

FDetect = vision. CascadeObjectDetector; %Find objekter ved hjælp af Viola-Jones-algoritme %Læs inputbilledet

image = imread ('c: / Deskotp / HarryPotter.jpg'); %indlæs billedet ved hjælp af imread ('filplacering / navn.jpg')

BB = trin (FDetect, billede); %Returnerer grænseværdier baseret på antal objekter

figur,

imshow (I);

hold fast

for i = 1: størrelse (BB, 1)

rektangel ('Position', BB (i,:), 'LineWidth', 5, 'LineStyle', '-', 'EdgeColor', 'r'); %r -rød, g-grøn, b-blå

ende

tekst (10, 10, strcat ('\ color {rød} Antal ansigter =', num2str (længde (BB)))); Denne linje giver dig optællingen

titel ('Ansigtsregistrering'); %titel på figuren

hold af;

Trin 2: Registrering af menneskelige øjne i et billede og optælling

Registrering af menneskelige øjne i et billede og tælling
Registrering af menneskelige øjne i et billede og tælling

MATLAB SCRIPT:

Slet alt;

clc;

%At registrere EyesEyeDetect = vision. CascadeObjectDetector ('EyePairBig');

%Læs input

image = imread ('c: / Deskotp / HarryPotter.jpg'); %indlæse billedet ved hjælp af imread ('filplacering / navn.jpg')

BB = trin (EyeDetect, billede);

figur,

imshow (billede);

rektangel ('Position', BB, 'LineWidth', 4, 'LineStyle', '-', 'EdgeColor', 'b');

titel ('Eyes Detection');

Resultatet vil være som billedet, der blev vedhæftet i dette trin selv

For at tælle antallet af registrerede øjne:

ryd alle, clc; %For at opdage øjne

EyeDetect = vision. CascadeObjectDetector ('EyePairBig');

image = imread ('c: / Deskotp / HarryPotter.jpg'); %indlæs billedet ved hjælp af imread ('filplacering / navn.jpg')

BB = trin (EyeDetect, billede); figur, imshow (billede); rektangel ('Position', BB, 'LineWidth', 4, 'LineStyle', '-', 'EdgeColor', 'b');

tekst (10, 10, strcat ('\ color {rød} Antal øjne =', num2str (længde (BB))));

titel ('Eyes Detection');

Trin 3: Registrering af menneskelig mund i et billede og optælling

Opdage menneskelig mund i et billede og tælle
Opdage menneskelig mund i et billede og tælle

MATLAB SCRIPT:

Slet alt;

clc;

%For at opdage mund

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

%Læs inputbilledet = imread ('c: / Deskotp / HarryPotter.jpg'); %indlæse billedet ved hjælp af imread ('filplacering / navn.jpg')

BB = trin (MouthDetect, billede);

figur, imshow (billede);

hold fast

for i = 1: størrelse (BB, 1)

rektangel ('Position', BB (i,:), 'LineWidth', 4, 'LineStyle', '-', 'EdgeColor', 'r');

ende

titel ('Mouth Detection');

hold af;

Resultatet vil være som billedet, der blev vedhæftet i dette trin selv

For at tælle antallet af registreret mund:

Slet alt; clc; %For at opdage mund

MouthDetect = vision. CascadeObjectDetector ('Mouth', 'MergeThreshold', 16); %Læs input

image = imread ('c: / Deskotp / HarryPotter.jpg'); %indlæse billedet ved hjælp af imread ('filplacering / navn.jpg') BB = trin (MouthDetect, billede);

figur, imshow (billede);

hold fast

for i = 1: størrelse (BB, 1)

rektangel ('Position', BB (i,:), 'LineWidth', 4, 'LineStyle', '-', 'EdgeColor', 'r');

ende

tekst (10, 10, strcat ('\ color {rød} Antal mund =', num2str (længde (BB))));

titel ('Mouth Detection');

hold af;

Trin 4: Registrering af ansigter, øjne, mund i en video og optælling

Slet alt;

luk alle;

clc;

% Optag videorammerne ved hjælp af videoinputfunktionen % Du skal udskifte opløsningen og dit installerede adapternavn.

a = vision. CascadeObjectDetector; %for at registrere ansigt

% a = vision. CascadeObjectDetector ('Mouth', 'MergeThreshold', 16); %for at opdage mund

% a = vision. CascadeObjectDetector ('EyePairBig'); %for at registrere øjne

%brug kun en (ansigt/øjne/mund)

vid = videoinput ('winvideo', 1, 'yuy2_320x240'); % Indstil videoobjektets egenskaber

sæt (vid, 'FramesPerTrigger', Inf);

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

vid. FrameGrabInterval = 5; %start videooptagelsen her

start (vid) % Indstil en loop, der stopper efter 100 optagelsesrammer

while (vid. FramesAcquired <= 200) % Få snapshot af den aktuelle ramme

data = getsnapshot (vid);

imshow (data);

b = trin (a, data);

hold fast

for i = 1: størrelse (b, 1)

rektangel ('position', b (i,:), 'linewidth', 2, 'linestyle', '-', 'EdgeColor', 'r');

ende

hold ud

tekst (10, 10, strcat ('\ color {green} Antal ansigter =', num2str (længde (b))));

ende

stop (vid); % Stop videooptagelsen

Anbefalede: