Мазмұны:

MATLAB Бетті оңай анықтау: 4 қадам
MATLAB Бетті оңай анықтау: 4 қадам

Бейне: MATLAB Бетті оңай анықтау: 4 қадам

Бейне: MATLAB Бетті оңай анықтау: 4 қадам
Бейне: 4 ші ретті анықтауышты есептеу 2024, Шілде
Anonim
MATLAB Бетті оңай анықтау
MATLAB Бетті оңай анықтау

Бұл нұсқаулықтардың негізгі мақсаты - MATLAB көмегімен суретті өңдеу қаншалықты оңай болатынын көрсету.

Бетті анықтау мен бақылау маңызды және белсенді зерттеу саласы болды, сондықтан мен оны Matlab көмегімен қалай жасауға болатынын түсіндіремін.

Келесі оқулықта мен төмендегілерді орындаймын:

1. кескіндегі беттерді анықтау және санау.

2.суретте адамның көзін анықтау және санау.

3. бейнеде адамның аузын анықтау және санау.

4. бейнедегі беттерді анықтау және санау.

5. бейнеде адамның көзін анықтау және санау.

6. бейнедегі адамның аузын анықтау және санау.

1 -қадам: суреттегі беттерді анықтау және санау

Суреттегі беттерді анықтау және санау
Суреттегі беттерді анықтау және санау

MATLAB сценарийі:

барлық % тазалау барлық объектілерді тазалау clc % экранды тазарту

FDetect = vision. CascadeObjectDetector; %Виола-Джонс алгоритмі арқылы объектілерді анықтау

%Енгізілген суретті оқыңыз

image = imread ('c: / Deskotp / HarryPotter.jpg'); %суретті imread арқылы жүктеңіз ('файлдың орналасуы / name.jpg')

BB = қадам (FDetect, сурет); %Объектілер санына байланысты шектеу терезесінің мәндерін қайтарады

сурет, имшоу (I);

күте тұр

i = 1 үшін: өлшемі (BB, 1)

тіктөртбұрыш ('Позиция', BB (i,:), 'LineWidth', 5, 'LineStyle', '-', 'EdgeColor', 'r'); %r -қызыл, g-жасыл, b-көк

Соңы

атауы («Бетті анықтау»); фигураның атауы %;

Нәтиже осы қадамда бекітілген суретке ұқсас болады

Анықталған беттер санын есептеу үшін:

барлық % тазалау барлық объектілерді тазалау clc % экранды тазарту

FDetect = vision. CascadeObjectDetector; %Viola-Jones алгоритмі арқылы объектілерді анықтау %Кіріс суретін оқу

image = imread ('c: / Deskotp / HarryPotter.jpg'); %суретті imread арқылы жүктеңіз ('файлдың орналасуы / name.jpg')

BB = қадам (FDetect, сурет); %Объектілер санына байланысты шектеулі терезе мәндерін қайтарады

фигура,

imshow (I);

күте тұр

i = 1 үшін: өлшемі (BB, 1)

тіктөртбұрыш ('Позиция', BB (i,:), 'LineWidth', 5, 'LineStyle', '-', 'EdgeColor', 'r'); %r -қызыл, g-жасыл, b-көк

Соңы

мәтін (10, 10, strcat ('\ color {red} No of face =', num2str (length (BB))))); Бұл жол сізге санауды береді

атауы («Бетті анықтау»); %фигураның тақырыбы

тоқтату;

2 -қадам: Суреттегі адамның көзін анықтау және санау

Адамның көзіндегі суретті анықтау және санау
Адамның көзіндегі суретті анықтау және санау

MATLAB сценарийі:

бәрін тазарту;

clc;

%Анықтау үшін EyesEyeDetect = vision. CascadeObjectDetector ('EyePairBig');

%Кірісті оқыңыз

image = imread ('c: / Deskotp / HarryPotter.jpg'); %суретті imread арқылы жүктеңіз ('файлдың орналасуы / name.jpg')

BB = қадам (EyeDetect, сурет);

фигура,

imshow (сурет);

тіктөртбұрыш ('Позиция', BB, 'LineWidth', 4, 'LineStyle', '-', 'EdgeColor', 'b');

тақырып ('Көзді анықтау');

Нәтиже осы қадамда бекітілген суретке ұқсас болады

Анықталған көз санын санау үшін:

бәрін тазалау; clc; %Көзді анықтау үшін

EyeDetect = vision. CascadeObjectDetector ('EyePairBig');

image = imread ('c: / Deskotp / HarryPotter.jpg'); %суретті imread арқылы жүктеңіз ('файлдың орналасуы / name.jpg')

BB = қадам (EyeDetect, сурет); сурет, imshow (сурет); тіктөртбұрыш ('Позиция', BB, 'LineWidth', 4, 'LineStyle', '-', 'EdgeColor', 'b');

мәтін (10, 10, strcat ('\ color {red} Көздің саны =', num2str (ұзындығы (BB)))));

тақырып ('Көзді анықтау');

3 -қадам: Суретте адамның аузын анықтау және санау

Адамның аузын кескіннен анықтау және санау
Адамның аузын кескіннен анықтау және санау

MATLAB сценарийі:

бәрін тазарту;

clc;

%Ауызды анықтау үшін

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

%Енгізілген суретті оқу = imread ('c: / Deskotp / HarryPotter.jpg'); %суретті imread арқылы жүктеңіз ('файлдың орналасуы / name.jpg')

BB = қадам (MouthDetect, сурет);

фигура, имшоу (сурет);

күте тұр

i = 1 үшін: өлшемі (BB, 1)

тіктөртбұрыш ('Позиция', BB (i,:), 'LineWidth', 4, 'LineStyle', '-', 'EdgeColor', 'r');

Соңы

тақырып ('Ауызды анықтау');

тоқтату;

Нәтиже осы қадамда бекітілген суретке ұқсас болады

Табылған ауыз санын есептеу үшін:

бәрін тазарту; clc; %Ауызды анықтау үшін

MouthDetect = vision. CascadeObjectDetector ('Mouth', 'MergeThreshold', 16); %Кірісті оқыңыз

image = imread ('c: / Deskotp / HarryPotter.jpg'); %imread ('file location / name.jpg') көмегімен суретті жүктейді BB = қадам (MouthDetect, сурет);

фигура, имшоу (сурет);

күте тұр

i = 1 үшін: өлшемі (BB, 1)

тіктөртбұрыш ('Позиция', BB (i,:), 'LineWidth', 4, 'LineStyle', '-', 'EdgeColor', 'r');

Соңы

мәтін (10, 10, strcat ('\ color {red} No mouths =', num2str (length (BB)))));

тақырып ('Ауызды анықтау');

тоқтату;

4 -қадам: Бейнедегі жүзді, көзді, ауызды анықтау және санау

бәрін тазарту;

бәрін жабу;

clc;

% Бейне енгізу функциясын қолданып бейне кадрларды түсіріңіз % Рұқсат пен орнатылған адаптер атауын ауыстыруыңыз қажет.

a = vision. CascadeObjectDetector; бетті анықтау үшін %

% a = vision. CascadeObjectDetector ('Mouth', 'MergeThreshold', 16); %ауызды анықтау үшін

% a = vision. CascadeObjectDetector ('EyePairBig'); %көзді анықтау үшін

%кез келгенін ғана қолданыңыз (бет/көз/ауыз)

vid = videoinput ('winvideo', 1, 'yuy2_320x240'); % Бейне нысанының сипаттарын орнатыңыз

жинақ (vid, 'FramesPerTrigger', Inf);

орнату (vid, 'ReturnedColorspace', 'rgb');

vid. FrameGrabInterval = 5; %бейне алуды осы жерден бастайды

start (vid) % 100 кадр алудан кейін тоқтайтын циклды орнатыңыз

while (vid. FramesAcquired <= 200) % Ағымдағы кадрдың суретін алу

data = getsnapshot (vid);

imshow (деректер);

b = қадам (а, деректер);

күте тұр

i = 1 үшін: өлшемі (b, 1)

тіктөртбұрыш ('позиция', b (i,:), 'linewidth', 2, 'linestyle', '-', 'EdgeColor', 'r');

Соңы

тоқтата тұру

мәтін (10, 10, strcat ('\ color {green} Бет саны =', num2str (length (b)))));

Соңы

тоқтату (видео); % Бейне алуды тоқтатыңыз

Ұсынылған: