ዝርዝር ሁኔታ:

MATLAB ቀላል የፊት ለይቶ ማወቅ 4 ደረጃዎች
MATLAB ቀላል የፊት ለይቶ ማወቅ 4 ደረጃዎች

ቪዲዮ: MATLAB ቀላል የፊት ለይቶ ማወቅ 4 ደረጃዎች

ቪዲዮ: MATLAB ቀላል የፊት ለይቶ ማወቅ 4 ደረጃዎች
ቪዲዮ: What is NT scan and Double Marker test in pregnancy | Reports kaise samjhein 2024, ሀምሌ
Anonim
MATLAB ቀላል የፊት ለይቶ ማወቅ
MATLAB ቀላል የፊት ለይቶ ማወቅ

የዚህ አስተማሪዎች ዋና ዓላማ በ MATLAB እገዛ ፣ የምስል አሠራሩ ምን ያህል ቀላል እንደሚሆን ማሳየት ነው።

የፊት ለይቶ ማወቅ እና መከታተል አስፈላጊ እና ንቁ የምርምር መስክ ሆኖ ቆይቷል ፣ ስለሆነም በማትላብ እንዴት እንደሚደረግ እገልጻለሁ።

በሚከተለው ትምህርት ውስጥ የሚከተሉትን ነገሮች አደርጋለሁ

1. በምስል ውስጥ ፊቶችን መለየት እና መቁጠር።

2. የሰውን አይኖች በምስል መለየት እና መቁጠር።

3. የሰው አፍን በምስል መለየት እና መቁጠር።

4. በቪዲዮ ውስጥ ፊቶችን መለየት እና መቁጠር።

5. በቪዲዮ ውስጥ የሰውን አይኖች መለየት እና መቁጠር።

6. በቪዲዮ ውስጥ የሰውን አፍ መለየት እና መቁጠር።

ደረጃ 1 በምስል እና በመቁጠር ውስጥ ፊቶችን መለየት።

በምስል እና በመቁጠር ውስጥ ፊቶችን መለየት።
በምስል እና በመቁጠር ውስጥ ፊቶችን መለየት።

የማትላብ ጽሑፍ

ሁሉንም % ያፅዱ ሁሉንም ነገሮች ያፅዱccc % ግልጽ ማያ ገጽ

FDetect = vision. CascadeObjectDetector; Viola-Jones አልጎሪዝም በመጠቀም ዕቃዎችን ይፈልጉ

%የግቤት ምስሉን ያንብቡ

ምስል = መፃፍ ('c: / Deskotp / HarryPotter.jpg'); ኢሜድ ('ፋይል ቦታ / name.jpg') በመጠቀም ምስሉን %ይጫኑ

ቢቢ = ደረጃ (FDetect ፣ ምስል); %የነገሮች ብዛት ላይ በመመስረት የድንበር ሣጥን እሴቶችን ይመልሳል

ምስል ፣ አይምሳይ (እኔ);

ቆይ

ለ i = 1: መጠን (ቢቢ ፣ 1)

አራት ማዕዘን ('አቀማመጥ' ፣ ቢቢ (i ፣:) ፣ 'LineWidth' ፣ 5 ፣ 'LineStyle' ፣ '-' ፣ 'EdgeColor' ፣ 'r')); %r -red, g-green, b-blue

አበቃ

ርዕስ ('ፊት ለይቶ ማወቅ'); የቁጥር ባለቤትነት %ጠፍቷል ፤

ውጤቱ በዚህ ደረጃ በራሱ እንደተያያዘው ምስል ይሆናል

የተገኙትን ፊቶች ብዛት ለመቁጠር ፦

ሁሉንም % ያፅዱ ሁሉንም ነገሮች ያፅዱccc % ግልጽ ማያ ገጽ

FDetect = vision. CascadeObjectDetector; Viola-Jones ስልተ ቀመር በመጠቀም ዕቃዎችን ይፈልጉ %የግቤት ምስሉን ያንብቡ

ምስል = መፃፍ ('c: / Deskotp / HarryPotter.jpg'); ኢሜድ ('ፋይል ቦታ / name.jpg') በመጠቀም ምስሉን %ይጫኑ

ቢቢ = ደረጃ (FDetect ፣ ምስል); %የነገሮች ብዛት ላይ በመመስረት የድንበር ሣጥን እሴቶችን ይመልሳል

ምስል ፣

imshow (እኔ);

ቆይ

ለ i = 1: መጠን (ቢቢ ፣ 1)

አራት ማዕዘን ('አቀማመጥ' ፣ ቢቢ (i ፣:) ፣ 'LineWidth' ፣ 5 ፣ 'LineStyle' ፣ '-' ፣ 'EdgeColor' ፣ 'r')); %r -red, g-green, b-blue

አበቃ

ጽሑፍ (10 ፣ 10 ፣ strcat ('\ color {red} No no face =', num2str (ርዝመት (BB)))); ይህ መስመር ቆጠራውን ይሰጥዎታል

ርዕስ ('ፊት ለይቶ ማወቅ'); የስዕሉ %ርዕስ

ቆይ;

ደረጃ 2 - የሰው ዓይኖችን በምስል እና በመቁጠር መለየት።

በምስል እና በመቁጠር የሰው ዓይኖችን መለየት።
በምስል እና በመቁጠር የሰው ዓይኖችን መለየት።

የማትላብ ጽሑፍ

ሁሉንም ያፅዱ;

clc;

%EyesEyeDetect = vision. CascadeObjectDetector ('EyePairBig') ን ለመለየት

%ግቤቱን ያንብቡ

ምስል = መፃፍ ('c: / Deskotp / HarryPotter.jpg'); ኢሜድ ('ፋይል ቦታ / name.jpg') በመጠቀም ምስሉን %ይጫኑ

ቢቢ = ደረጃ (EyeDetect ፣ ምስል);

ምስል ፣

imshow (ምስል);

አራት ማእዘን ('አቀማመጥ' ፣ ቢቢኤ ፣ 'መስመር ወርድ' ፣ 4 ፣ 'መስመር ስታይል' ፣ '-' ፣ 'EdgeColor' ፣ 'ለ') ፤

ርዕስ ('አይኖች መለየት');

ውጤቱ በዚህ ደረጃ በራሱ እንደተያያዘው ምስል ይሆናል

የተገኙትን የዓይን ብዛት ለመቁጠር -

ሁሉንም አጽዳ ፣ clc; %ዓይኖችን ለመለየት

EyeDetect = vision. CascadeObjectDetector ('EyePairBig');

ምስል = መፃፍ ('c: / Deskotp / HarryPotter.jpg'); ኢሜድ ('ፋይል ቦታ / name.jpg') በመጠቀም ምስሉን %ይጫኑ

ቢቢ = ደረጃ (EyeDetect ፣ ምስል) ፤ ምስል ፣ imshow (ምስል); አራት ማእዘን ('አቀማመጥ' ፣ ቢቢኤ ፣ 'መስመር ወርድ' ፣ 4 ፣ 'መስመር ስታይል' ፣ '-' ፣ 'EdgeColor' ፣ 'ለ') ፤

ጽሑፍ (10 ፣ 10 ፣ strcat ('\ ቀለም {ቀይ} የዓይኖች የለም =', num2str (ርዝመት (ቢቢ))));

ርዕስ ('አይኖች መለየት');

ደረጃ 3 - የሰው አፍን በምስል መለየት እና መቁጠር

በምስል እና በመቁጠር የሰው አፍን መለየት
በምስል እና በመቁጠር የሰው አፍን መለየት

የማትላብ ጽሑፍ

ሁሉንም ያፅዱ;

clc;

%አፉን ለመለየት

MouthDetect = vision. CascadeObjectDetector ('አፍ' ፣ 'MergeThreshold' ፣ 16) ፤

%የግቤት ምስሉን = imread ('c: / Deskotp / HarryPotter.jpg') ያንብቡ ፤ ኢሜድ ('ፋይል ቦታ / name.jpg') በመጠቀም ምስሉን %ይጫኑ

ቢቢ = ደረጃ (MouthDetect ፣ ምስል);

ምስል ፣ ምስል (ምስል);

ቆይ

ለ i = 1: መጠን (ቢቢ ፣ 1)

አራት ማዕዘን ('አቀማመጥ' ፣ ቢቢ (i ፣:) ፣ 'LineWidth' ፣ 4 ፣ 'LineStyle' ፣ '-' ፣ 'EdgeColor' ፣ 'r'));

አበቃ

ርዕስ ('የአፍ መፈለጊያ');

ቆይ;

ውጤቱ በዚህ ደረጃ በራሱ እንደተያያዘው ምስል ይሆናል

የተገኘውን አፍ ብዛት ለመቁጠር ፦

ሁሉንም ያፅዱ; clc; %አፉን ለመለየት

MouthDetect = vision. CascadeObjectDetector ('አፍ' ፣ 'MergeThreshold' ፣ 16) ፤ %ግቤቱን ያንብቡ

ምስል = መፃፍ ('c: / Deskotp / HarryPotter.jpg'); %('ፋይል ቦታ / name.jpg') BB = step (MouthDetect, image) ን በመጠቀም ምስሉን ይጫኑ።

ምስል ፣ ምስል (ምስል);

ቆይ

ለ i = 1: መጠን (ቢቢ ፣ 1)

አራት ማዕዘን ('አቀማመጥ' ፣ ቢቢ (i ፣:) ፣ 'LineWidth' ፣ 4 ፣ 'LineStyle' ፣ '-' ፣ 'EdgeColor' ፣ 'r'));

አበቃ

ጽሑፍ (10 ፣ 10 ፣ strcat ('\ color {red} No of Afs =', num2str (ርዝመት (BB))));

ርዕስ ('የአፍ መፈለጊያ');

ቆይ;

ደረጃ 4 - በቪዲዮ ውስጥ ፊቶችን ፣ ዓይኖችን ፣ አፍን መለየት እና መቁጠር።

ሁሉንም ያፅዱ;

ሁሉንም ይዝጉ;

clc;

የቪዲዮ ግቤት ተግባርን በመጠቀም የቪዲዮ ፍሬሞችን ይያዙ % መፍትሄውን እና የተጫነውን አስማሚ ስምዎን መተካት አለብዎት።

ሀ = ራዕይ. CascadeObjectDetector; ፊት ለመለየት %

% a = ራዕይ. CascadeObjectDetector ('አፍ', 'MergeThreshold', 16); አፍን ለመለየት %

% a = vision. CascadeObjectDetector ('EyePairBig'); ዓይንን ለመለየት %

%ማንኛውንም ብቻ ይጠቀሙ (ፊት/አይኖች/አፍ)

vid = የቪዲዮ ግቤት ('winvideo' ፣ 1 ፣ 'yuy2_320x240'); % የቪድዮውን ነገር ባህሪዎች ያዘጋጁ

አዘጋጅ (ቪድ ፣ 'ፍሬሞችPerTrigger' ፣ Inf);

አዘጋጅ (ቪድ ፣ 'የተመለሰ ኮሎፕስፔስ' ፣ 'rgb') ፤

vid. FrameGrabInterval = 5; %የቪዲዮ ማግኘቱን እዚህ ይጀምሩ

ጀምር (ቪድ) % ከ 100 ማግኛ ክፈፎች በኋላ የሚቆም loop ያዘጋጁ

(vid. FramesAcquired <= 200) % የአሁኑን ፍሬም ቅጽበተ -ፎቶ ያግኙ

ውሂብ = ቅጽበተ -ፎቶ (ቪድ);

imshow (ውሂብ);

ለ = ደረጃ (ሀ ፣ ውሂብ);

ቆይ

ለ i = 1: መጠን (ለ ፣ 1)

አራት ማእዘን ('አቀማመጥ' ፣ ለ (i ፣:) ፣ 'የመስመር ስፋት' ፣ 2 ፣ 'ሊኒስታይል' ፣ '-' ፣ 'EdgeColor' ፣ 'r'));

አበቃ

ቆይ

ጽሑፍ (10 ፣ 10 ፣ strcat ('\ color {green} No face =', num2str (ርዝመት (ለ))));

አበቃ

አቁም (ቪዲ); % የቪዲዮ ማግኘቱን ያቁሙ

የሚመከር: