Оглавление:
- Шаг 1. Обнаружение лиц на изображении и подсчет
- Шаг 2: Обнаружение человеческих глаз на изображении и подсчет
- Шаг 3: Обнаружение человеческого рта на изображении и подсчет
- Шаг 4: Обнаружение лиц, глаз, рта на видео и подсчет
Видео: MATLAB Easy Face Detection: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
Основная цель этих инструкций - показать, насколько простой будет обработка изображений с помощью 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, изображение); % Возвращает значения граничной рамки в зависимости от количества объектов
рисунок, imshow (I);
Подожди
для i = 1: size (BB, 1)
прямоугольник ('Позиция', BB (i,:), 'Ширина линии', 5, 'Стиль линии', '-', 'EdgeColor', 'r'); % r-красный, g-зеленый, b-синий
конец
title («Распознавание лиц»); % титул фигуриста;
Результат будет похож на изображение, которое было прикреплено на этом шаге.
Чтобы подсчитать количество обнаруженных лиц:
очистить все% очистить все объектыclc% очистить экран
FDetect = vision. CascadeObjectDetector; % Обнаружение объектов с использованием алгоритма Виолы-Джонса% Считывание входного изображения
image = imread ('c: / Deskotp / HarryPotter.jpg'); % загрузить изображение с помощью imread ('расположение файла / name.jpg')
BB = шаг (FDetect, изображение); % Возвращает значения граничной рамки в зависимости от количества объектов
фигура,
imshow (I);
Подожди
для i = 1: size (BB, 1)
прямоугольник ('Позиция', BB (i,:), 'Ширина линии', 5, 'Стиль линии', '-', 'EdgeColor', 'r'); % r-красный, g-зеленый, b-синий
конец
text (10, 10, strcat ('\ color {red} Кол-во лиц =', num2str (length (BB)))); Эта строка дает вам счет
title («Распознавание лиц»); % название рисунка
откладывать;
Шаг 2: Обнаружение человеческих глаз на изображении и подсчет
СЦЕНАРИЙ MATLAB:
очистить все;
clc;
% Для обнаружения EyesEyeDetect = vision. CascadeObjectDetector ('EyePairBig');
% Прочтите ввод
image = imread ('c: / Deskotp / HarryPotter.jpg'); % загрузить изображение с помощью imread ('расположение файла / name.jpg')
BB = шаг (EyeDetect, изображение);
фигура,
imshow (изображение);
прямоугольник ('Позиция', BB, 'Ширина линии', 4, 'Стиль линии', '-', 'Цвет края', 'b');
title («Обнаружение глаз»);
Результат будет похож на изображение, которое было прикреплено на этом шаге.
Чтобы подсчитать количество обнаруженных глаз:
очистить все; clc; % Для обнаружения глаз
EyeDetect = vision. CascadeObjectDetector ('EyePairBig');
image = imread ('c: / Deskotp / HarryPotter.jpg'); % загрузить изображение с помощью imread ('расположение файла / name.jpg')
BB = шаг (EyeDetect, изображение); рисунок, imshow (изображение); прямоугольник ('Позиция', BB, 'Ширина линии', 4, 'Стиль линии', '-', 'Цвет края', 'b');
text (10, 10, strcat ('\ color {red} Кол-во глаз =', num2str (length (BB))));
title («Обнаружение глаз»);
Шаг 3: Обнаружение человеческого рта на изображении и подсчет
СЦЕНАРИЙ MATLAB:
очистить все;
clc;
% Чтобы обнаружить рот
MouthDetect = vision. CascadeObjectDetector ('Рот', 'MergeThreshold', 16);
% Прочтите входное изображение = imread ('c: / Deskotp / HarryPotter.jpg'); % загрузить изображение с помощью imread ('расположение файла / name.jpg')
BB = шаг (MouthDetect, изображение);
рисунок, imshow (изображение);
Подожди
для i = 1: size (BB, 1)
прямоугольник ('Позиция', BB (i,:), 'Ширина линии', 4, 'Стиль линии', '-', 'EdgeColor', 'r');
конец
title («Обнаружение рта»);
откладывать;
Результат будет похож на изображение, которое было прикреплено на этом шаге.
Чтобы подсчитать количество обнаруженных ртов:
очистить все; clc; % Чтобы обнаружить рот
MouthDetect = vision. CascadeObjectDetector ('Рот', 'MergeThreshold', 16); % Прочтите ввод
image = imread ('c: / Deskotp / HarryPotter.jpg'); % загрузить изображение с помощью imread ('расположение файла / name.jpg') BB = step (MouthDetect, image);
рисунок, imshow (изображение);
Подожди
для i = 1: size (BB, 1)
прямоугольник ('Позиция', BB (i,:), 'Ширина линии', 4, 'Стиль линии', '-', 'EdgeColor', 'r');
конец
text (10, 10, strcat ('\ color {red} Кол-во ртов =', num2str (length (BB))));
title («Обнаружение рта»);
откладывать;
Шаг 4: Обнаружение лиц, глаз, рта на видео и подсчет
очистить все;
закрыть все;
clc;
% Захватите видеокадры с помощью функции видеовхода% Вам необходимо заменить разрешение и имя установленного адаптера.
a = vision. CascadeObjectDetector; % для обнаружения лица
% a = vision. CascadeObjectDetector ('Рот', 'MergeThreshold', 16); % для обнаружения рта
% a = vision. CascadeObjectDetector ('EyePairBig'); % для обнаружения глаз
% использовать только любой (лицо / глаза / рот)
vid = videoinput ('winvideo', 1, 'yuy2_320x240'); % Задайте свойства видеообъекта
set (vid, 'FramesPerTrigger', Inf);
set (vid, 'ReturnedColorspace', 'rgb');
vid. FrameGrabInterval = 5; % начните сбор видео здесь
start (vid)% Установить цикл, который останавливается после 100 кадров захвата
while (vid. FramesAcquired <= 200)% Получить снимок текущего кадра
данные = получает снимок (видео);
imshow (данные);
b = шаг (a, данные);
Подожди
для i = 1: size (b, 1)
rectangle ('позиция', b (i,:), 'ширина линии', 2, 'стиль линии', '-', 'EdgeColor', 'r');
конец
откладывать
text (10, 10, strcat ('\ color {green} Кол-во лиц =', num2str (length (b))));
конец
стоп (видео); % Остановить получение видео
Рекомендуемые:
Как кодировать и публиковать Matlab 2016b в Word (руководство для начинающих): 4 шага
Как кодировать и публиковать Matlab 2016b в Word (руководство для начинающих): Matlab - это высокопроизводительная языковая программа, которая используется для вычисления технических результатов. Он имеет возможность интегрировать визуальные эффекты, вычисления и программирование в удобной для пользователя форме. С помощью этой программы пользователь может публиковать проблемы и решения
Реактивные фонари Kaonashi No Face Sound: 3 шага
Реактивные огни Kaonashi No Face Sound: чтобы проникнуться духом вещей, установите струнные светильники. Но было бы здорово, если бы вы могли направить свет так, чтобы он загорался, когда слышны звуки? Сделайте так, чтобы маска для лица Kaonashi или No Face (из классического фильма Унесенные призраками) звучала реактивным звуком
Микроконтроллер, управляемый MATLAB (Arduino MKR1000): 4 шага
Микроконтроллер, управляемый MATLAB (Arduino MKR1000): Целью нашего проекта было максимально возможное использование MATLAB, а также Arduino MKR1000. Наша цель состояла в том, чтобы создать сценарий, который позволил бы определенным функциям Arduino выполнять определенный вывод на основе определенного ввода. Мы использовали много
Настройка RTL-SDR в MATLAB как FM-приемник: 4 шага
Настройте RTL-SDR в MATLAB как FM-приемник: RTL-SDR в наши дни довольно популярны для FM-приемников и других задач, связанных с FM, для любителей и студентов. Это простое руководство по началу работы с SDR на MATLAB. Для получения дополнительной помощи перейдите к " Пакет поддержки панели инструментов системы связи
Автоматическая диагностика диабетической ретинопатии с помощью MATLAB: 33 шага
Автоматическая диагностика диабетической ретинопатии с помощью MATLAB: (См. Схему кода выше) Диабетическая ретинопатия - это заболевание глаз, связанное с диабетом, вызванное высоким уровнем сахара в крови. Высокий уровень сахара в крови вызывает набухание кровеносных сосудов в сетчатке, что приводит к расширению кровеносных сосудов и даже сосудов