Агуулгын хүснэгт:
- Алхам 1: Зураг дээрх нүүрийг илрүүлж тоолох
- Алхам 2: Хүний нүдийг дүрсээр илрүүлж тоолох
- Алхам 3: Хүний амыг дүрсээр илрүүлж тоолох
- Алхам 4: Видео бичлэг дээр нүүр, нүд, амыг илрүүлж тоолох
Видео: MATLAB хялбар нүүр илрүүлэх: 4 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:00
Энэхүү зааварчилгааны гол зорилго нь MATLAB -ийн тусламжтайгаар зураг боловсруулах нь хэр хялбар болохыг харуулах явдал юм.
Нүүр илрүүлэх, хянах нь чухал бөгөөд идэвхтэй судалгааны талбар байсан тул үүнийг Matlab дээр хэрхэн яаж хийхийг тайлбарлах болно.
Дараагийн хичээлд би дараахь зүйлийг хийх болно.
1. зураг дээрх нүүрийг тодорхойлох, тоолох.
2. хүний нүдийг дүрсээр илрүүлж тоолох.
3. хүний амыг дүрсээр илрүүлж тоолох.
4. видеогоор нүүрээ илрүүлж тоолох.
5. Хүний нүдийг видеогоор илрүүлж тоолох.
6. Хүний амыг видео бичлэгээр илрүүлж тоолох.
Алхам 1: Зураг дээрх нүүрийг илрүүлж тоолох
MATLAB скрипт:
бүгдийг цэвэрлэх % бүх объектуудыг цэвэрлэх clc % дэлгэцийг цэвэрлэх
FDetect = алсын хараа. CascadeObjectDetector; %Viola-Jones алгоритмыг ашиглан объектуудыг илрүүлэх
%Оруулсан зургийг уншина уу
image = imread ('c: / Deskotp / HarryPotter.jpg'); %imread ашиглан зургийг ачаална уу ('файлын байрлал / name.jpg')
BB = алхам (FDetect, зураг); %Объектуудын тоонд үндэслэн хязгаарлах хайрцгийн утгыг буцаана
зураг, imshow (I);
түр хүлээгээрэй
i = 1 -ийн хувьд: хэмжээ (BB, 1)
тэгш өнцөгт ('Position', BB (i,:), 'LineWidth', 5, 'LineStyle', '-', 'EdgeColor', 'r'); %r-улаан, g-ногоон, b-цэнхэр
Төгсгөл
гарчиг ('Нүүр илрүүлэх'); хасагдсан нэрийн %гарчиг;
Үр дүн нь энэ алхамд хавсаргасан зураг шиг байх болно
Илэрсэн нүүрний тоог тоолохын тулд:
бүгдийг цэвэрлэх % бүх объектуудыг цэвэрлэх clc % дэлгэцийг цэвэрлэх
FDetect = алсын хараа. CascadeObjectDetector; %Viola-Jones алгоритмыг ашиглан объектуудыг илрүүлэх %Оруулсан зургийг уншина уу
image = imread ('c: / Deskotp / HarryPotter.jpg'); %imread ашиглан зургийг ачаална уу ('файлын байршил / name.jpg')
BB = алхам (FDetect, зураг); %Объектуудын тоонд үндэслэн хязгаарлах хайрцгийн утгыг буцаана
дүрс,
imshow (I);
түр хүлээгээрэй
i = 1 -ийн хувьд: хэмжээ (BB, 1)
тэгш өнцөгт ('Position', 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 (зураг);
тэгш өнцөгт ('Position', BB, 'LineWidth', 4, 'LineStyle', '-', 'EdgeColor', 'b');
гарчиг ('Нүд илрүүлэх');
Үр дүн нь энэ алхамд хавсаргасан зураг шиг байх болно
Илэрсэн нүдний тоог тоолохын тулд:
бүгдийг цэвэрлэх; clc; %Нүдийг илрүүлэх
EyeDetect = алсын хараа. CascadeObjectDetector ('EyePairBig');
image = imread ('c: / Deskotp / HarryPotter.jpg'); %imread ашиглан зургийг ачаална уу ('файлын байрлал / name.jpg')
BB = алхам (EyeDetect, зураг); зураг, imshow (зураг); тэгш өнцөгт ('Position', BB, 'LineWidth', 4, 'LineStyle', '-', 'EdgeColor', 'b');
текст (10, 10, strcat ('\ color {red} Нүдний тоо =', num2str (урт (BB)))));
гарчиг ('Нүд илрүүлэх');
Алхам 3: Хүний амыг дүрсээр илрүүлж тоолох
MATLAB скрипт:
бүгдийг цэвэрлэ;
clc;
%Амыг илрүүлэх
MouthDetect = алсын хараа. CascadeObjectDetector ('Mouth', 'MergeThreshold', 16);
%Оруулсан зургийг уншина уу = imread ('c: / Deskotp / HarryPotter.jpg'); %imread ашиглан зургийг ачаална уу ('файлын байршил / name.jpg')
BB = алхам (MouthDetect, зураг);
зураг, imshow (зураг);
түр хүлээгээрэй
i = 1 -ийн хувьд: хэмжээ (BB, 1)
тэгш өнцөгт ('Position', BB (i,:), 'LineWidth', 4, 'LineStyle', '-', 'EdgeColor', 'r');
Төгсгөл
гарчиг ('Ам илрүүлэх');
түр зогсоох;
Үр дүн нь энэ алхамд хавсаргасан зураг шиг байх болно
Илэрсэн амны тоог тоолохын тулд:
бүгдийг цэвэрлэ; clc; %Амыг илрүүлэх
MouthDetect = алсын хараа. CascadeObjectDetector ('Mouth', 'MergeThreshold', 16); %Оруулгыг уншина уу
image = imread ('c: / Deskotp / HarryPotter.jpg'); %imread ('file location / name.jpg') ашиглан зургийг ачаална уу BB = алхам (MouthDetect, зураг);
зураг, imshow (зураг);
түр хүлээгээрэй
i = 1 -ийн хувьд: хэмжээ (BB, 1)
тэгш өнцөгт ('Position', BB (i,:), 'LineWidth', 4, 'LineStyle', '-', 'EdgeColor', 'r');
Төгсгөл
текст (10, 10, strcat ('\ color {red} No of ам =', num2str (length (BB)))));
гарчиг ('Ам илрүүлэх');
түр зогсоох;
Алхам 4: Видео бичлэг дээр нүүр, нүд, амыг илрүүлж тоолох
бүгдийг цэвэрлэ;
бүгдийг хаах;
clc;
% Видео оруулах функцийг ашиглан видео хүрээ авах % Та нарийвчлал болон суулгасан адаптерийн нэрийг солих хэрэгтэй.
a = алсын хараа. CascadeObjectDetector; нүүр царайг илрүүлэх %
% a = алсын хараа. CascadeObjectDetector ('Mouth', 'MergeThreshold', 16); %амыг илрүүлэх
% a = алсын хараа. CascadeObjectDetector ('EyePairBig'); нүдийг илрүүлэх %
%зөвхөн ямар ч хэрэглээрэй (нүүр/нүд/ам)
vid = videoinput ('winvideo', 1, 'yuy2_320x240'); % Видео объектын шинж чанарыг тохируулна уу
багц (vid, 'FramesPerTrigger', Inf);
багц (vid, 'ReturnedColorspace', 'rgb');
vid. FrameGrabInterval = 5; %видео олж авах ажлыг эндээс эхлүүлнэ үү
эхлэх (vid) % 100 хүрээг олж авсны дараа зогсох давталтыг тохируулна уу
while (vid. FramesAcquired <= 200) % Одоогийн хүрээний агшинг авах
өгөгдөл = getsnapshot (vid);
imshow (өгөгдөл);
b = алхам (а, өгөгдөл);
түр хүлээгээрэй
i = 1 -ийн хувьд: хэмжээ (b, 1)
тэгш өнцөгт ('байрлал', b (i,:), 'linewidth', 2, 'linestyle', '-', 'EdgeColor', 'r');
Төгсгөл
түр зогсоо
текст (10, 10, strcat ('\ color {green} No of face =', num2str (length (b)))));
Төгсгөл
зогсоох (видео); % Видео бичлэгийг зогсоох
Зөвлөмж болгож буй:
ESP32-CAM самбар ашиглан нүүр илрүүлэх IP камер: 5 алхам
ESP32-CAM самбар ашиглан нүүр илрүүлэх IP камер: Энэ бичлэг нь бусадтай харьцуулахад өөр бөгөөд гайхалтай хямд (9 доллараас бага), ашиглахад хялбар ESP32-CAM самбарыг авч үзье. Бид 2 видео ашиглан шууд видео тэжээл дамжуулахад ашиглаж болох энгийн IP камер бүтээдэг
Opencv Нүүр илрүүлэх, сургах, таних: 3 алхам
Opencv царай илрүүлэх, сургах, таних: OpenCV бол нээлттэй эхийн компьютерийн харааны номын сан бөгөөд зураг боловсруулахаас гадна бүдэгрүүлэх, дүрс холих, дүрс сайжруулах, видео чанар, босго гэх мэт үндсэн боловсруулалтын ажлыг гүйцэтгэхэд маш алдартай. үүнийг нотолж байна
Halloween роботуудыг илрүүлэх нүүр царай, инээмсэглэл: 8 алхам (зурагтай)
Halloween роботыг илрүүлэх нүүр царай, инээмсэглэл: Halloween ирж байна! Бид гайхалтай зүйл бүтээхээр шийдсэн. Ghosty болон Skully роботуудтай танилцана уу. Тэд чиний царайг дагаж чаддаг бөгөөд чамайг инээмсэглэж байхдаа инээмсэглэж байгаагаа мэддэг! Энэхүү төсөл нь iPhone -ийг хөрвүүлдэг iRobbie програмыг ашиглах бас нэг жишээ юм
RaspberryPi-4: 6 алхам дээр бодит цагийн нүүр илрүүлэх (зурагтай)
RaspberryPi-4 дээрх бодит цагийн нүүрний илрүүлэлт: Энэхүү зааварчилгаанд бид Shunyaface номын санг ашиглан Shunya O/S ашиглан Raspberry Pi 4 дээр нүүрний бодит илрүүлэлтийг хийх болно. Та энэ зааврыг дагаж RaspberryPi-4 дээр 15-17-ийн илрүүлэх хүрээний хурдыг авах боломжтой
DIY MusiLED, Windows & Linux програмыг нэг товшилтоор (32 бит ба 64 бит) хөгжмийн синхрончлогдсон LED. Дахин бүтээхэд хялбар, ашиглахад хялбар, порт хийхэд хялбар: 3 алхам
DIY MusiLED, Windows болон Linux програмыг нэг товшилтоор (32 бит ба 64 бит) хөгжмийн синхрончлогдсон LED. Дахин бүтээхэд хялбар, ашиглахад хялбар, порт хийхэд хялбар: Энэхүү төсөл нь 18 LED (6 Улаан + 6 Цэнхэр + 6 Шар) Arduino самбартаа холбож, компьютерийн Дууны картын бодит цагийн дохиог шинжлэх, дамжуулахад туслах болно. LED -ууд нь цохилтын эффектийн дагуу тэднийг гэрэлтүүлдэг (урхи, өндөр малгай, өшиглөлт)