Բովանդակություն:
- Քայլ 1. Պատկերում դեմքերի հայտնաբերում և հաշվարկ
- Քայլ 2. Մարդու աչքերի հայտնաբերում պատկերով և հաշվարկով:
- Քայլ 3. Մարդու բերանի հայտնաբերում պատկերով և հաշվարկով
- Քայլ 4 ՝ դեմքերի, աչքերի, բերանի հայտնաբերում տեսանյութում և հաշվել:
Video: MATLAB Հեշտ դեմքի հայտնաբերում. 4 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Այս հրահանգների հիմնական նպատակն է ցույց տալ, թե որքան հեշտ կլինի պատկերի մշակումը ՝ MATLAB- ի օգնությամբ
Դեմքի հայտնաբերումը և հետևելը կարևոր և ակտիվ հետազոտական ոլորտ էր, ուստի դրա համար ես պատրաստվում եմ բացատրել, թե ինչպես դա կարելի է անել Matlab- ի միջոցով:
Հետևյալ ձեռնարկում ես պատրաստվում եմ անել հետևյալը.
1. պատկերի դեմքեր հայտնաբերելը և հաշվելը:
2. մարդու աչքերը հայտնաբերել պատկերի մեջ և հաշվել:
3. մարդու բերանի հայտնաբերում պատկերի մեջ և հաշվել:
4. դեմքերի հայտնաբերում տեսանյութում և հաշվել:
5. Մարդու աչքերի հայտնաբերում տեսանյութում և հաշվել:
6. Մարդու բերանի հայտնաբերում տեսանյութում և հաշվել:
Քայլ 1. Պատկերում դեմքերի հայտնաբերում և հաշվարկ
MATLAB SCRIPT:
մաքրել բոլոր % մաքրել բոլոր օբյեկտները clc % մաքուր էկրան
FDetect = vision. CascadeObjectDetector; %Հայտնաբերել օբյեկտները ՝ օգտագործելով Վիոլա-onesոնսի ալգորիթմը
%Կարդացեք մուտքային պատկերը
image = imread ('c: / Deskotp / HarryPotter.jpg'); %բեռնել պատկերը `օգտագործելով imread ('ֆայլի գտնվելու վայրը / name.jpg')
BB = քայլ (FDetect, image); Վերադարձնում է սահմանափակող տուփի արժեքները ՝ հիմնված օբյեկտների քանակի վրա
գործիչ, ցուցադրում (I);
սպասիր
i = 1 համար: Չափ (BB, 1)
ուղղանկյուն («Դիրք», BB (i,:), "LineWidth", 5, "LineStyle", "-", "EdgeColor", "r"); %r-կարմիր, g-կանաչ, b-կապույտ
վերջ
վերնագիր («Դեմքի հայտնաբերում»); %գործարքի անջատված անվանումը;
Արդյունքը նման կլինի այն պատկերին, որը կցված էր հենց այս քայլին
Հայտնաբերված դեմքերի թիվը հաշվելու համար
մաքրել բոլոր % մաքրել բոլոր օբյեկտները clc % մաքուր էկրան
FDetect = vision. CascadeObjectDetector; %Հայտնաբերել օբյեկտները ՝ օգտագործելով Վիոլա-onesոնսի ալգորիթմը Կարդացեք մուտքային պատկերը
image = imread ('c: / Deskotp / HarryPotter.jpg'); %բեռնել պատկերը `օգտագործելով imread ('ֆայլի գտնվելու վայրը / name.jpg')
BB = քայլ (FDetect, image); Վերադարձնում է սահմանափակող տուփի արժեքները ՝ հիմնված օբյեկտների քանակի վրա
գործիչ,
ցուցադրել (I);
սպասիր
i = 1 համար: Չափ (BB, 1)
ուղղանկյուն ('Position', BB (i,:), 'LineWidth', 5, 'LineStyle', '-', 'EdgeColor', 'r'); %r-կարմիր, g-կանաչ, b-կապույտ
վերջ
տեքստ (10, 10, strcat ('\ գույն {կարմիր} Դեմքերի թիվ =', num2str (երկարություն (BB)))); Այս տողը տալիս է հաշվարկը
վերնագիր («Դեմքի հայտնաբերում»); գործչի անվանումը %
հետաձգել;
Քայլ 2. Մարդու աչքերի հայտնաբերում պատկերով և հաշվարկով:
MATLAB SCRIPT:
մաքրել բոլորը;
clc;
%EyesEyeDetect = vision. CascadeObjectDetector ('EyePairBig') հայտնաբերելու համար;
%Կարդացեք մուտքագրումը
image = imread ('c: / Deskotp / HarryPotter.jpg'); %բեռնել պատկերը `օգտագործելով imread ('ֆայլի գտնվելու վայրը / name.jpg')
BB = քայլ (EyeDetect, image);
գործիչ,
ցուցադրում (պատկեր);
ուղղանկյուն ('Position', BB, 'LineWidth', 4, 'LineStyle', '-', 'EdgeColor', 'b');
վերնագիր («Աչքերի հայտնաբերում»);
Արդյունքը նման կլինի այն պատկերին, որը կցված էր հենց այս քայլին
Հայտնաբերված աչքերի քանակը հաշվելու համար
մաքրել բոլորը; clc; %Աչքերը հայտնաբերելու համար
EyeDetect = vision. CascadeObjectDetector ('EyePairBig');
image = imread ('c: / Deskotp / HarryPotter.jpg'); %բեռնել պատկերը `օգտագործելով imread ('ֆայլի գտնվելու վայրը / name.jpg')
BB = քայլ (EyeDetect, image); figure, imshow (image); ուղղանկյուն ('Position', BB, 'LineWidth', 4, 'LineStyle', '-', 'EdgeColor', 'b');
տեքստ (10, 10, strcat ('\ գույն {կարմիր} Աչքերի քանակ =', num2str (երկարություն (BB))));
վերնագիր («Աչքերի հայտնաբերում»);
Քայլ 3. Մարդու բերանի հայտնաբերում պատկերով և հաշվարկով
MATLAB SCRIPT:
մաքրել բոլորը;
clc;
Բերանը հայտնաբերելու համար
MouthDetect = vision. CascadeObjectDetector («Բերան», «MergeThreshold», 16);
%Կարդալ մուտքագրված պատկերը = imread ('c: / Deskotp / HarryPotter.jpg'); %բեռնել պատկերը `օգտագործելով imread ('ֆայլի գտնվելու վայրը / name.jpg')
BB = քայլ (MouthDetect, image);
գործիչ, ցուցադրում (պատկեր);
սպասիր
i = 1 համար: Չափ (BB, 1)
ուղղանկյուն ('Position', BB (i,:), 'LineWidth', 4, 'LineStyle', '-', 'EdgeColor', 'r');
վերջ
վերնագիր («Բերանի հայտնաբերում»);
հետաձգել;
Արդյունքը նման կլինի այն պատկերին, որը կցված էր հենց այս քայլին
Հայտնաբերված բերանի թիվը հաշվելու համար
մաքրել բոլորը; clc; Բերանը հայտնաբերելու համար
MouthDetect = vision. CascadeObjectDetector («Բերան», «MergeThreshold», 16); %Կարդացեք մուտքագրումը
image = imread ('c: / Deskotp / HarryPotter.jpg'); %բեռնել պատկերը `օգտագործելով imread ('ֆայլի գտնվելու վայրը / name.jpg') BB = քայլ (MouthDetect, image);
գործիչ, ցուցադրում (պատկեր);
սպասիր
i = 1 համար: Չափ (BB, 1)
ուղղանկյուն ('Position', BB (i,:), 'LineWidth', 4, 'LineStyle', '-', 'EdgeColor', 'r');
վերջ
տեքստ (10, 10, strcat ('\ գույն {կարմիր} Բերանների թիվ =', num2str (երկարություն (BB))));
վերնագիր («Բերանի հայտնաբերում»);
հետաձգել;
Քայլ 4 ՝ դեմքերի, աչքերի, բերանի հայտնաբերում տեսանյութում և հաշվել:
մաքրել բոլորը;
փակել բոլորը;
clc;
% Նկարագրեք տեսանյութերի շրջանակները ՝ օգտագործելով տեսա մուտքագրման գործառույթը % Դուք պետք է փոխարինեք լուծաչափը և տեղադրված ադապտեր անունը:
a = vision. CascadeObjectDetector; %`դեմքը հայտնաբերելու համար
% a = vision. CascadeObjectDetector («Բերան», «MergeThreshold», 16); %բերանը հայտնաբերելու համար
% a = vision. CascadeObjectDetector ('EyePairBig'); %՝ աչքերը հայտնաբերելու համար
%-ը օգտագործում է միայն մեկը (դեմք/աչքեր/բերան)
vid = videoinput ('winvideo', 1, 'yuy2_320x240'); % Սահմանել տեսաօբյեկտի հատկությունները
հավաքածու (vid, 'FramesPerTrigger', Inf);
հավաքածու (vid, 'ReturnedColorspace', 'rgb');
vid. FrameGrabInterval = 5; %սկսել տեսանյութի ձեռքբերումը այստեղ
սկիզբ (տեսանյութ) % Տեղադրեք մի հանգույց, որը դադարում է ձեռքբերման 100 շրջանակից հետո
while (vid. FramesAcquired <= 200) % Ստացեք ընթացիկ շրջանակի պատկերը
տվյալներ = getnapshot (տեսանյութ);
ցուցադրում (տվյալներ);
b = քայլ (a, տվյալներ);
սպասիր
i = 1 -ի համար. չափը (b, 1)
ուղղանկյուն («դիրք», b (i,:), "linewidth", 2, "linestyle", "-", "EdgeColor", "r");
վերջ
հետաձգել
տեքստ (10, 10, strcat ('\ գույն {կանաչ} Դեմքերի թիվ =', num2str (երկարություն (բ))));
վերջ
կանգառ (տեսանյութ); % Դադարեցնել տեսանյութի ձեռքբերումը
Խորհուրդ ենք տալիս:
Դեմքի հայտնաբերում Raspberry Pi 4B- ում 3 քայլով `3 քայլ
Դեմքի հայտնաբերում Raspberry Pi 4B- ի վրա 3 քայլով. Այս հրահանգում մենք պատրաստվում ենք Raspberry Pi 4-ում դեմքի հայտնաբերում իրականացնել Shunya O/S- ի միջոցով `օգտագործելով Shunyaface գրադարանը: Shunyaface- ը դեմքի ճանաչման/հայտնաբերման գրադարան է: Նախագիծը նպատակ ունի հասնել հայտնաբերման և ճանաչման ամենաարագ արագությանը ՝
Opencv դեմքի հայտնաբերում, ուսուցում և ճանաչում. 3 քայլ
Opencv դեմքի հայտնաբերում, ուսուցում և ճանաչում. OpenCV- ը բաց կոդով համակարգչային տեսադարան է, որը շատ տարածված է պատկերի մշակման հիմնական առաջադրանքների կատարման համար, ինչպիսիք են ՝ պղտորումը, պատկերի միաձուլումը, պատկերի, ինչպես նաև տեսանյութի որակի բարձրացումը, շեմը և այլն: Բացի պատկերի մշակումից, դա ապացուցում է
DIY MusiLED, Երաժշտության համաժամեցված լուսադիոդներ մեկ կտտոցով Windows և Linux հավելվածով (32 բիթ և 64 բիթ): Հեշտ է վերստեղծել, Հեշտ օգտագործել, Հեշտ տեղափոխել ՝ 3 քայլ
DIY MusiLED, Երաժշտության համաժամեցված լուսադիոդներ ՝ մեկ կտտոցով Windows և Linux հավելվածով (32-բիթ և 64-բիթ): Հեշտ է վերստեղծել, դյուրին օգտագործել, հեշտ է տեղափոխել. LED- ները դրանք լուսավորելու են ըստ հարվածի էֆեկտների (Snare, High Hat, Kick)
Դեմքի հայտնաբերում+ճանաչում. 8 քայլ (նկարներով)
Դեմքի հայտնաբերում+ճանաչում. Սա պարզ օրինակ է ՝ տեսախցիկից OpenCV- ով դեմքի հայտնաբերման և ճանաչման գործարկման: ՈEՇԱԴՐՈԹՅՈՆ. ԱՅՍ JՐԱԳԻՐԸ ԿԱՏԱՐԵԼ ԵՄ ՍԵՆՍՈՐ ՄՐTՈՅԹԻ ՀԱՄԱՐ և ՕԳՏԱԳՈՐՈՄ ԵՄ ԿԱՄԵՐԱՅԻՆ ՝ որպես սենսոր ՝ հետևելու և ճանաչելու դեմքերին: Այսպիսով, մեր նպատակը Այս նստաշրջանում 1. Տեղադրեք Anaconda
Դեմքի և աչքերի հայտնաբերում ազնվամորի Պի eroրոյի և բացման միջոցով. 3 քայլ
Դեմքի և աչքերի հայտնաբերում ազնվամորու Պի eroրոյի և Opencv- ի հետ. Սա իմ առաջին հրահանգն է opencv- ով: Ես հետևեցի բազմաթիվ ձեռնարկների `ազնվամորու մեջ բաց cv ստեղծելու համար, բայց ամեն անգամ հարվածում էի որոշ սխալներով: Ինչևէ ես