Mục lục:
- Bước 1: Phát hiện khuôn mặt trong ảnh và đếm
- Bước 2: Phát hiện mắt người trong hình ảnh và đếm
- Bước 3: Phát hiện miệng người trong hình ảnh và đếm
- Bước 4: Phát hiện khuôn mặt, mắt, miệng trong video và đếm
Video: MATLAB Nhận diện khuôn mặt dễ dàng: 4 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:30
Mục đích chính của tài liệu hướng dẫn này là cho thấy việc xử lý hình ảnh sẽ dễ dàng đến mức nào, Với sự trợ giúp của MATLAB
Phát hiện và theo dõi khuôn mặt là một lĩnh vực nghiên cứu tích cực và quan trọng, vì vậy đó là lý do tại sao tôi sẽ giải thích cách nó có thể được thực hiện với Matlab.
Trong hướng dẫn sau, tôi sẽ thực hiện những thứ bên dưới:
1. phát hiện khuôn mặt trong hình ảnh và đếm.
2. phát hiện mắt người trong một hình ảnh và đếm.
3. phát hiện miệng người trong một hình ảnh và đếm.
4. phát hiện khuôn mặt trong Video và đếm.
5. phát hiện mắt người trong video và đếm.
6. phát hiện miệng người trong Video và đếm.
Bước 1: Phát hiện khuôn mặt trong ảnh và đếm
MATLAB SCRIPT:
xóa tất cả% xóa tất cả các đối tượng
FDetect = vision. CascadeObjectDetector; % Phát hiện các đối tượng bằng Thuật toán Viola-Jones
% Đọc hình ảnh đầu vào
image = imread ('c: / Deskotp / HarryPotter.jpg'); % tải hình ảnh bằng cách sử dụng imread ('file location / name.jpg')
BB = bước (FDetect, hình ảnh); % Trả về giá trị Hộp giới hạn dựa trên số lượng đối tượng
hình, imshow (I);
Giữ lấy
cho i = 1: kích thước (BB, 1)
chữ nhật ('Vị trí', BB (i,:), 'LineWidth', 5, 'LineStyle', '-', 'EdgeColor', 'r'); % r -red, g-green, b-blue
kết thúc
title ('Nhận diện khuôn mặt'); % title of the figurehold off;
Kết quả sẽ giống như hình ảnh được đính kèm trong chính bước này
Để đếm số khuôn mặt được phát hiện:
xóa tất cả% xóa tất cả các đối tượng
FDetect = vision. CascadeObjectDetector; % Phát hiện đối tượng bằng Thuật toán Viola-Jones% Đọc hình ảnh đầu vào
image = imread ('c: / Deskotp / HarryPotter.jpg'); % tải hình ảnh bằng cách sử dụng imread ('file location / name.jpg')
BB = bước (FDetect, hình ảnh); % Trả về giá trị Hộp giới hạn dựa trên số lượng đối tượng
nhân vật,
imshow (tôi);
Giữ lấy
cho i = 1: kích thước (BB, 1)
chữ nhật ('Vị trí', BB (i,:), 'LineWidth', 5, 'LineStyle', '-', 'EdgeColor', 'r'); % r -red, g-green, b-blue
kết thúc
text (10, 10, strcat ('\ color {red} Số khuôn mặt =', num2str (length (BB)))); Dòng này cung cấp cho bạn số
title ('Nhận diện khuôn mặt'); % tiêu đề của hình
giữ lại;
Bước 2: Phát hiện mắt người trong hình ảnh và đếm
MATLAB SCRIPT:
quet sạch tât cả;
clc;
% Để phát hiện EyesEyeDetect = vision. CascadeObjectDetector ('EyePairBig');
% Đọc đầu vào
image = imread ('c: / Deskotp / HarryPotter.jpg'); % tải hình ảnh bằng cách sử dụng imread ('file location / name.jpg')
BB = bước (EyeDetect, hình ảnh);
nhân vật,
imshow (hình ảnh);
hình chữ nhật ('Vị trí', BB, 'Chiều rộng Đường thẳng', 4, 'Kiểu Đường thẳng', '-', 'Màu sắc cạnh', 'b');
title ('Phát hiện mắt');
Kết quả sẽ giống như hình ảnh được đính kèm trong chính bước này
Để đếm số lượng mắt được phát hiện:
xóa tất cả; clc; % Để phát hiện mắt
EyeDetect = vision. CascadeObjectDetector ('EyePairBig');
image = imread ('c: / Deskotp / HarryPotter.jpg'); % tải hình ảnh bằng cách sử dụng imread ('file location / name.jpg')
BB = step (EyeDetect, image); figure, imshow (image); hình chữ nhật ('Vị trí', BB, 'Chiều rộng Đường thẳng', 4, 'Kiểu Đường thẳng', '-', 'Màu sắc cạnh', 'b');
text (10, 10, strcat ('\ color {red} Không có mắt =', num2str (length (BB))));
title ('Phát hiện mắt');
Bước 3: Phát hiện miệng người trong hình ảnh và đếm
MATLAB SCRIPT:
quet sạch tât cả;
clc;
% Để phát hiện miệng
MouthDetect = vision. CascadeObjectDetector ('Mouth', 'MergeThreshold', 16);
% Đọc hình ảnh đầu vào = imread ('c: / Deskotp / HarryPotter.jpg'); % tải hình ảnh bằng cách sử dụng imread ('file location / name.jpg')
BB = bước (MouthDetect, hình ảnh);
figure, imshow (hình ảnh);
Giữ lấy
cho i = 1: kích thước (BB, 1)
chữ nhật ('Vị trí', BB (i,:), 'LineWidth', 4, 'LineStyle', '-', 'EdgeColor', 'r');
kết thúc
title ('Phát hiện miệng');
giữ lại;
Kết quả sẽ giống như hình ảnh được đính kèm trong chính bước này
Để đếm số Miệng được phát hiện:
quet sạch tât cả; clc; % Để phát hiện miệng
MouthDetect = vision. CascadeObjectDetector ('Mouth', 'MergeThreshold', 16); % Đọc đầu vào
image = imread ('c: / Deskotp / HarryPotter.jpg'); % tải hình ảnh bằng cách sử dụng imread ('file location / name.jpg') BB = step (MouthDetect, image);
figure, imshow (hình ảnh);
Giữ lấy
cho i = 1: kích thước (BB, 1)
chữ nhật ('Vị trí', BB (i,:), 'LineWidth', 4, 'LineStyle', '-', 'EdgeColor', 'r');
kết thúc
text (10, 10, strcat ('\ color {red} Không có miệng =', num2str (length (BB))));
title ('Phát hiện miệng');
giữ lại;
Bước 4: Phát hiện khuôn mặt, mắt, miệng trong video và đếm
quet sạch tât cả;
đóng tất cả;
clc;
% Chụp các khung hình video bằng chức năng đầu vào video% Bạn phải thay thế độ phân giải và tên bộ điều hợp đã cài đặt của mình.
a = vision. CascadeObjectDetector; % để phát hiện khuôn mặt
% a = vision. CascadeObjectDetector ('Mouth', 'MergeThreshold', 16); % để phát hiện miệng
% a = vision. CascadeObjectDetector ('EyePairBig'); % để phát hiện mắt
% chỉ sử dụng một cái bất kỳ (mặt / mắt / miệng)
vid = videoinput ('winvideo', 1, 'yuy2_320x240'); % Đặt thuộc tính của đối tượng video
set (vid, 'FramesPerTrigger', Inf);
set (vid, 'ReturnedColorspace', 'rgb');
vid. FrameGrabInterval = 5; % bắt đầu chuyển đổi video tại đây
start (vid)% Đặt vòng lặp dừng sau 100 khung hình chuyển đổi
while (vid. FramesAcquired <= 200)% Nhận ảnh chụp nhanh của khung hình hiện tại
data = getnapshot (vid);
imshow (dữ liệu);
b = bước (a, dữ liệu);
Giữ lấy
cho i = 1: kích thước (b, 1)
chữ nhật ('position', b (i,:), 'linewidth', 2, 'linestyle', '-', 'EdgeColor', 'r');
kết thúc
giữ lại
text (10, 10, strcat ('\ color {green} Không có khuôn mặt =', num2str (length (b))));
kết thúc
dừng lại (vid); % Dừng chuyển đổi video
Đề xuất:
Gương nhận dạng khuôn mặt với ngăn bí mật: 15 bước (có hình ảnh)
Gương nhận dạng khuôn mặt có ngăn bí mật: Tôi luôn bị hấp dẫn bởi những ngăn bí mật luôn sáng tạo được sử dụng trong truyện, phim và những thứ tương tự. Vì vậy, khi tôi xem Cuộc thi Ngăn chứa Bí mật, tôi đã quyết định tự mình thử nghiệm ý tưởng và làm một chiếc gương soi bình thường có thể mở ra
Nhận diện, đào tạo và nhận diện khuôn mặt Opencv: 3 bước
Opencv Face Detection, Training and Recognition: OpenCV là một thư viện thị giác máy tính mã nguồn mở rất phổ biến để thực hiện các tác vụ xử lý hình ảnh cơ bản như làm mờ, trộn hình ảnh, nâng cao chất lượng hình ảnh cũng như video, tạo ngưỡng, v.v. Ngoài xử lý hình ảnh, nó kích động
Nhận dạng và Nhận dạng khuôn mặt - Arduino Face ID sử dụng OpenCV Python và Arduino.: 6 bước
Nhận dạng và Nhận dạng khuôn mặt | Arduino Face ID Sử dụng OpenCV Python và Arduino: Nhận dạng khuôn mặt ID khuôn mặt AKA là một trong những tính năng quan trọng nhất trên điện thoại di động hiện nay. Vì vậy, tôi đã có một câu hỏi " liệu tôi có thể có id khuôn mặt cho dự án Arduino của mình không " và câu trả lời là có … Hành trình của tôi bắt đầu như sau: Bước 1: Truy cập vào chúng tôi
Nhận diện khuôn mặt + nhận dạng: 8 bước (có hình ảnh)
Nhận diện khuôn mặt + nhận dạng: Đây là một ví dụ đơn giản về việc chạy tính năng nhận diện và nhận diện khuôn mặt với OpenCV từ máy ảnh. LƯU Ý: TÔI ĐÃ THỰC HIỆN DỰ ÁN NÀY CHO CUỘC THI CẢM BIẾN VÀ TÔI ĐÃ SỬ DỤNG MÁY ẢNH LÀM CẢM BIẾN ĐỂ THEO DÕI VÀ CÁC MẶT CẢNH NHẬN. Vì vậy, Mục tiêu của chúng tôi Trong phiên này, 1. Cài đặt Anaconda
Nhận diện khuôn mặt và mắt với Raspberry Pi Zero và Opencv: 3 bước
Nhận diện khuôn mặt và mắt với Raspberry Pi Zero và Opencv: Trong hướng dẫn này, tôi sẽ trình bày cách bạn có thể phát hiện khuôn mặt và mắt bằng cách sử dụng raspberry pi và opencv. Đây là hướng dẫn đầu tiên của tôi trên opencv. Tôi đã làm theo nhiều hướng dẫn để thiết lập cv mở trong mâm xôi nhưng lần nào cũng gặp một số lỗi. Dù sao thì tôi