İçindekiler:

MATLAB Kolay Yüz Algılama: 4 Adım
MATLAB Kolay Yüz Algılama: 4 Adım

Video: MATLAB Kolay Yüz Algılama: 4 Adım

Video: MATLAB Kolay Yüz Algılama: 4 Adım
Video: Derin öğrenme ile Yüz tanıma matlab 2024, Kasım
Anonim
MATLAB Kolay Yüz Algılama
MATLAB Kolay Yüz Algılama

Bu talimatın temel amacı, MATLAB yardımıyla görüntü işlemenin ne kadar kolay olacağını göstermektir.

Yüz tanıma ve izleme önemli ve aktif bir araştırma alanı olmuştur, bu yüzden Matlab ile nasıl yapılabileceğini anlatacağım.

Aşağıdaki eğitimde aşağıdaki şeyleri yapacağım:

1. Görüntüdeki yüzleri algılama ve sayma.

2. Bir görüntüde insan gözünü algılama ve sayma.

3. Bir görüntüde insan ağzını algılama ve sayma.

4. Videodaki yüzleri algılama ve sayma.

5. Videodaki insan gözünü algılama ve sayma.

6. Videodaki insan ağzını algılama ve sayma.

Adım 1: Bir Görüntüdeki Yüzleri Algılama ve Sayma

Bir Görüntüdeki Yüzleri Algılama ve Sayma
Bir Görüntüdeki Yüzleri Algılama ve Sayma

MATLAB Scripti:

tümünü temizle % tüm nesneleri temizleclc % ekranı temizle

FDetect = vision. CascadeObjectDetector; %Viola-Jones Algoritmasını kullanarak nesneleri algıla

%Giriş görüntüsünü oku

resim = imread('c:\Deskotp\HarryPotter.jpg'); % imread('file location\name.jpg') kullanarak resmi yükleyin

BB = step(FDetect, image); %Nesne sayısına bağlı olarak Sınırlayıcı Kutu değerlerini döndürür

şekil, imshow(I);

devam etmek

i = 1:boyut(BB, 1) için

dikdörtgen('Konum', BB(i,:), 'Çizgi Genişliği', 5, 'ÇizgiStyle', '-', 'EdgeColor', 'r'); %r -kırmızı, g-yeşil, b-mavi

son

title('Yüz Algılama'); rakamın %başlığı kapalı;

Sonuç, bu adımda eklenen resim gibi olacaktır.

Algılanan yüzlerin sayısını saymak için:

tümünü temizle % tüm nesneleri temizleclc % ekranı temizle

FDetect = vision. CascadeObjectDetector; %Viola-Jones Algoritmasını kullanarak nesneleri algıla %Giriş görüntüsünü oku

resim = imread('c:\Deskotp\HarryPotter.jpg'); % imread('file location\name.jpg') kullanarak resmi yükleyin

BB = step(FDetect, image); %Nesne sayısına bağlı olarak Sınırlayıcı Kutu değerlerini döndürür

figür,

imshow(I);

devam etmek

i = 1:boyut(BB, 1) için

dikdörtgen('Konum', BB(i,:), 'Çizgi Genişliği', 5, 'ÇizgiStyle', '-', 'EdgeColor', 'r'); %r -kırmızı, g-yeşil, b-mavi

son

text(10, 10, strcat('\color{red} Yüz sayısı =', num2str(uzunluk(BB)))); Bu satır size sayımı verir

title('Yüz Algılama'); şeklin %başlığı

uzak dur;

Adım 2: Bir Görüntüde İnsan Gözlerini Tespit Etme ve Sayma

Bir Görüntüde İnsan Gözlerini Algılama ve Sayma
Bir Görüntüde İnsan Gözlerini Algılama ve Sayma

MATLAB Scripti:

hepsini temizle;

clc;

%EyesEyeDetect algılamak için = vision. CascadeObjectDetector('EyePairBig');

%Girişi oku

resim = imread('c:\Deskotp\HarryPotter.jpg'); % imread('file location\name.jpg') kullanarak resmi yükleyin

BB=step(EyeDetect, görüntü);

figür,

imshow(resim);

dikdörtgen('Konum', BB, 'Çizgi Genişliği', 4, 'ÇizgiStyle', '-', 'EdgeColor', 'b');

title('Göz Algılama');

Sonuç, bu adımda eklenen resim gibi olacaktır.

Tespit edilen göz sayısını saymak için:

hepsini temizle;clc; %Gözleri algılamak için

EyeDetect = vision. CascadeObjectDetector('EyePairBig');

resim = imread('c:\Deskotp\HarryPotter.jpg'); % imread('file location\name.jpg') kullanarak resmi yükleyin

BB=step(EyeDetect, image);şekil, imshow(image); dikdörtgen('Konum', BB, 'Çizgi Genişliği', 4, 'ÇizgiStyle', '-', 'EdgeColor', 'b');

text(10, 10, strcat('\color{red} Göz sayısı =', num2str(uzunluk(BB))));

title('Göz Algılama');

Adım 3: Bir Görüntüde İnsan Ağzını Tespit Etme ve Sayma

Bir Görüntüde İnsan Ağzını Tespit Etme ve Sayma
Bir Görüntüde İnsan Ağzını Tespit Etme ve Sayma

MATLAB Scripti:

hepsini temizle;

clc;

%Ağı algılamak için

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

%Giriş resmini oku = imread('c:\Deskotp\HarryPotter.jpg'); % imread('file location\name.jpg') kullanarak resmi yükleyin

BB=step(MouthDetect, görüntü);

şekil, imshow(image);

devam etmek

i = 1:boyut(BB, 1) için

dikdörtgen('Konum', BB(i,:), 'Çizgi Genişliği', 4, 'ÇizgiStyle', '-', 'EdgeColor', 'r');

son

title('Ağız Algılama');

uzak dur;

Sonuç, bu adımda eklenen resim gibi olacaktır.

Tespit edilen Ağız sayısını saymak için:

hepsini temizle; clc; %Ağı algılamak için

MouthDetect =vision. CascadeObjectDetector('Mouth', 'MergeThreshold', 16); %Girişi oku

resim = imread('c:\Deskotp\HarryPotter.jpg'); %imread('file location\name.jpg') kullanarak görüntüyü yükleyin BB=step(MouthDetect, image);

şekil, imshow(image);

devam etmek

i = 1:boyut(BB, 1) için

dikdörtgen('Konum', BB(i,:), 'Çizgi Genişliği', 4, 'ÇizgiStyle', '-', 'EdgeColor', 'r');

son

text(10, 10, strcat('\color{red} Ağız sayısı =', num2str(uzunluk(BB))));

title('Ağız Algılama');

uzak dur;

Adım 4: Bir Videoda Yüzleri, Gözleri, Ağzı Tespit Etme ve Sayma

hepsini temizle;

hepsini kapat;

clc;

% Video giriş işlevini kullanarak video karelerini yakalayın % Çözünürlüğü ve kurulu adaptör adınızı değiştirmelisiniz.

a=vision. CascadeObjectDetector; Yüz algılamak için %

% a=vision. CascadeObjectDetector('Ağız', 'MergeThreshold', 16); % ağız algılamak için

% a=vision. CascadeObjectDetector('EyePairBig'); % gözleri algılamak için

%sadece birini kullan (yüz/göz/ağız)

vid = videoinput('winvideo', 1, 'yuy2_320x240'); % Video nesnesinin özelliklerini ayarlayın

set(vid, 'FramesPerTrigger', Inf);

set(vid, 'ReturnedColorspace', 'rgb');

vid. FrameGrabInterval = 5; %Video alımını buradan başlatın

start(vid) % 100 kare alımdan sonra duran bir döngü ayarlayın

while(vid. FramesAcquired<=200) % Geçerli karenin anlık görüntüsünü alın

veri = getnapshot(vid);

imshow(veri);

b=adım(a, veri);

devam etmek

i=1 için:boyut(b, 1)

dikdörtgen('konum', b(i,:), 'çizgi genişliği', 2, 'çizgi stili', '-', 'EdgeColor', 'r');

son

uzak durmak

text(10, 10, strcat('\color{green} Yüz sayısı =', num2str(uzunluk(b))));

son

dur(video); % Video alımını durdur

Önerilen: