فهرست مطالب:

تشخیص چهره آسان MATLAB: 4 مرحله
تشخیص چهره آسان MATLAB: 4 مرحله

تصویری: تشخیص چهره آسان MATLAB: 4 مرحله

تصویری: تشخیص چهره آسان MATLAB: 4 مرحله
تصویری: واقعا رفتم جزیره لختیها لخت مادرزاد شدم 2024, جولای
Anonim
قابلیت تشخیص آسان متلب
قابلیت تشخیص آسان متلب

هدف اصلی این دستورالعمل ها نشان دادن این است که پردازش تصویر چقدر آسان است ، با کمک MATLAB

تشخیص چهره و ردیابی یک زمینه تحقیقاتی مهم و فعال بوده است ، بنابراین به همین دلیل است که من توضیح خواهم داد که چگونه می توان آن را با Matlab انجام داد.

در آموزش زیر کارهای زیر را انجام می دهم:

1. تشخیص چهره ها در یک تصویر و شمارش.

2. تشخیص چشم انسان در یک تصویر و شمارش.

3. تشخیص دهان انسان در یک تصویر و شمارش.

4. تشخیص چهره در یک فیلم و شمارش.

5. تشخیص چشم انسان در یک فیلم و شمارش.

6. تشخیص دهان انسان در یک فیلم و شمارش.

مرحله 1: تشخیص چهره ها در تصویر و شمارش

تشخیص چهره ها در تصویر و شمارش
تشخیص چهره ها در تصویر و شمارش

MATLAB SCRIPT:

Clear all٪ clear all objectsclc٪ clear screen

FDetect = vision. CascadeObjectDetector؛ objects تشخیص اشیاء با استفاده از الگوریتم ویولا-جونز

Read تصویر ورودی را بخوانید

image = imread ('c: / Deskotp / HarryPotter.jpg')؛ ٪ بارگذاری تصویر با استفاده از imread ('location file / name.jpg')

BB = مرحله (FDetect ، تصویر) ؛ ٪ بر اساس تعداد اشیاء مقادیر جعبه محدود را برمی گرداند

شکل ، نمایش (I) ؛

صبر کن

برای i = 1: اندازه (BB ، 1)

مستطیل ('Position'، BB (i،:)، 'LineWidth'، 5، 'LineStyle'، '-'، 'EdgeColor'، 'r')؛ ٪ r -red ، g-green ، b-blue

پایان

عنوان ("تشخیص چهره") ؛ ٪ عنوان خالص رقم خاموش ؛

نتیجه همانند تصویری است که در این مرحله به خود پیوست شده است

برای شمارش تعداد چهره های شناسایی شده:

Clear all٪ clear all objectsclc٪ clear screen

FDetect = vision. CascadeObjectDetector؛ ٪ تشخیص اشیاء با استفاده از الگوریتم ویولا-جونز٪ خواندن تصویر ورودی

image = imread ('c: / Deskotp / HarryPotter.jpg')؛ ٪ بارگذاری تصویر با استفاده از imread ('location file / name.jpg')

BB = مرحله (FDetect ، تصویر) ؛ ٪ بر اساس تعداد اشیاء مقادیر جعبه محدود را برمی گرداند

شکل،

نمایش (I) ؛

صبر کن

برای i = 1: اندازه (BB ، 1)

مستطیل ('Position'، BB (i،:)، 'LineWidth'، 5، 'LineStyle'، '-'، 'EdgeColor'، 'r')؛ ٪ r -red ، g-green ، b-blue

پایان

متن (10 ، 10 ، strcat ('\ رنگ {قرمز} تعداد صورت =' ، num2str (طول (BB))))) ؛ این خط شمارش را به شما می دهد

عنوان ("تشخیص چهره") ؛ ٪ عنوان شکل

نگه داشتن

مرحله 2: تشخیص چشم انسان در یک تصویر و شمارش

تشخیص چشمان انسان در یک تصویر و شمارش
تشخیص چشمان انسان در یک تصویر و شمارش

MATLAB SCRIPT:

همه را پاک کن؛

clc؛

٪ برای تشخیص EyesEyeDetect = vision. CascadeObjectDetector ('EyePairBig')؛

Read ورودی را بخوانید

image = imread ('c: / Deskotp / HarryPotter.jpg')؛ ٪ بارگذاری تصویر با استفاده از imread ('location file / name.jpg')

BB = مرحله (EyeDetect ، تصویر) ؛

شکل،

نمایش (تصویر) ؛

مستطیل ('Position'، BB، 'LineWidth'، 4، 'LineStyle'، '-'، 'EdgeColor'، 'b')؛

عنوان ('تشخیص چشم')؛

نتیجه همانند تصویری است که در این مرحله به خود پیوست شده است

برای شمارش تعداد چشم های تشخیص داده شده:

پاک کردن همه؛ clc؛ To برای تشخیص چشم ها

EyeDetect = vision. CascadeObjectDetector ('EyePairBig')؛

image = imread ('c: / Deskotp / HarryPotter.jpg')؛ ٪ بارگذاری تصویر با استفاده از imread ('location file / name.jpg')

BB = مرحله (EyeDetect ، تصویر) ؛ شکل ، نمایش (تصویر) ؛ مستطیل ('Position'، BB، 'LineWidth'، 4، 'LineStyle'، '-'، 'EdgeColor'، 'b')؛

متن (10 ، 10 ، strcat ('\ رنگ {قرمز} شماره چشم =' ، num2str (طول (BB))))) ؛

عنوان ('تشخیص چشم')؛

مرحله 3: تشخیص دهان انسان در یک تصویر و شمارش

تشخیص دهان انسان در یک تصویر و شمارش
تشخیص دهان انسان در یک تصویر و شمارش

MATLAB SCRIPT:

همه را پاک کن؛

clc؛

To برای تشخیص دهان

MouthDetect = vision. CascadeObjectDetector ('Mouth'، 'MergeThreshold'، 16)؛

٪ تصویر ورودی را بخوانید = imread ('c: / Deskotp / HarryPotter.jpg')؛ ٪ بارگذاری تصویر با استفاده از imread ('location file / name.jpg')

BB = مرحله (MouthDetect ، تصویر) ؛

شکل ، نمایش (تصویر) ؛

صبر کن

برای i = 1: اندازه (BB ، 1)

مستطیل ('Position'، BB (i،:)، 'LineWidth'، 4، 'LineStyle'، '-'، 'EdgeColor'، 'r')؛

پایان

عنوان ("تشخیص دهان") ؛

نگه داشتن ؛

نتیجه مانند تصویری است که در این مرحله به خود پیوست شده است

برای شمارش تعداد دهان تشخیص داده شده:

همه را پاک کن؛ clc؛ To برای تشخیص دهان

MouthDetect = vision. CascadeObjectDetector ('Mouth'، 'MergeThreshold'، 16)؛ Read ورودی را بخوانید

image = imread ('c: / Deskotp / HarryPotter.jpg')؛ load بارگذاری تصویر با استفاده از imread ('location file / name.jpg') BB = step (MouthDetect، image)؛

شکل ، نمایش (تصویر) ؛

صبر کن

برای i = 1: اندازه (BB ، 1)

مستطیل ('Position'، BB (i،:)، 'LineWidth'، 4، 'LineStyle'، '-'، 'EdgeColor'، 'r')؛

پایان

متن (10 ، 10 ، strcat ('\ رنگ {قرمز} تعداد دهان =' ، num2str (طول (BB))))) ؛

عنوان ("تشخیص دهان") ؛

نگه داشتن

مرحله 4: تشخیص چهره ، چشم ، دهان در یک فیلم و شمارش

همه را پاک کن؛

همه را بستن ؛

clc؛

٪ با استفاده از عملکرد ورودی ویدئو ، فریم های ویدیویی را ضبط کنید٪ باید وضوح تصویر و نام آداپتور نصب شده خود را جایگزین کنید.

a = vision. CascadeObjectDetector؛ ٪ برای تشخیص چهره

٪ a = vision. CascadeObjectDetector ('Mouth'، '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) a حلقه ای را تنظیم کنید که پس از 100 فرمت کسب ، متوقف شود

while (vid. FramesAcquired <= 200)٪ عکس فوری از فریم فعلی را دریافت کنید

data = getsnapshot (vid)؛

نمایش (داده) ؛

b = مرحله (a ، داده) ؛

صبر کن

برای i = 1: اندازه (b ، 1)

مستطیل ('position'، b (i،:)، 'linewidth'، 2، 'linestyle'، '-'، 'EdgeColor'، 'r')؛

پایان

ایستادن

متن (10 ، 10 ، strcat ('\ رنگ {سبز} تعداد صورت =' ، num2str (طول (ب)))) ؛

پایان

توقف (vid) ؛ Stop جذب ویدیو را متوقف کنید

توصیه شده: