Artificial Intelligence - هوش مصنوعی  
انجمن را در گوگل محبوب کنيد :

بازگشت   Artificial Intelligence - هوش مصنوعی > پردازش تصویر > شناسایی صورت (Face Recognition)


 
تبليغات سايت
Iranian Association for the Advancement of Artificial Intelligence
ارسال تاپيک جديد  پاسخ
 
LinkBack ابزارهاي تاپيک نحوه نمايش
قديمي ۱۲-۴-۱۳۹۳, ۱۲:۲۶ بعد از ظهر   #1 (لینک دائم)
عضو جدید
 
آواتار monir93
 
تاريخ عضويت: اسفند ۱۳۹۳
پست ها: 4
تشكرها: 2
0 تشكر در 0 پست
Question متلب

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

  #ADS
نشان دهنده تبلیغات
تبليغگر
 
 
 
تاريخ عضويت: -
محل سكونت: -
سن: 2010
پست ها: -
 

نشان دهنده تبلیغات is online  
قديمي ۱۲-۵-۱۳۹۳, ۰۱:۳۲ قبل از ظهر   #2 (لینک دائم)
Active users
 
آواتار mahdiii
 
تاريخ عضويت: اسفند ۱۳۸۸
محل سكونت: مشهد
پست ها: 355
تشكرها: 27
167 تشكر در 131 پست
My Mood: Khoshhal
پيش فرض

خب شما مختصات و طول و عرض مستطیل رو دارین. به راحتی میتونین بگین که از کدوم سطر تا کدوم سطر و از کدوم تا کدوم ستون تصویر انتخاب و جدابشه
image(a:a+b,c:c+d
)
a,c اولین شماره سطر و ستون مورد نظره و b ,d طول و عرض اون بخش موردنظر
mahdiii آفلاين است   پاسخ با نقل قول
از mahdiii تشكر كرده است:
monir93 (۰۲-۷-۱۳۹۴)
قديمي ۰۱-۱۲-۱۳۹۴, ۰۸:۰۴ بعد از ظهر   #3 (لینک دائم)
عضو فوق فعال
 
آواتار M2soft
 
تاريخ عضويت: مرداد ۱۳۸۹
پست ها: 20
تشكرها: 8
1 تشكر در 1 پست
پيش فرض

PHP Code:
function  [imgFaceLeftEyeRightEyeMouthLeftEyebrow,  RightEyebrow] = detectFacialRegions(I)
%  
This function is to find the facial regions (eyesmouth and eyebrows)
%  
Reference:
%  
SilvaCarolineSchnitmanLeizer ;  OliveiraLuciano"Detection of Facial Landmarks
%  Using Local-Based Information"
The 19th edition of the Brazilian Conference on Automation CBA 2012
%  
Campina GrandePBBrazil (oral presentation), September 32012. 
%
%  
Copyright 2014 by Caroline Pacheco do E.Silva
%  If you have any problemplease feel free to contact Caroline Pacheco do E.Silva.
%  
lolyne.pacheco@gmail.com
%%

%
To detect Face
 FDetect 
vision.CascadeObjectDetector;
 
Face step(FDetect,I);
 
imgFace = (I(Face(1,2):Face(1,2)+Face(1,4),Face(1,1):Face(1,1)+Face(1,3),:));

 %
To detect Left Eye
 EyeDetect 
vision.CascadeObjectDetector('LeftEye');
 
Eye=step(EyeDetect,imgFace);
 
LeftEye  Eye(1,:);
 
 %
To detect Right Eye
 EyeDetect 
vision.CascadeObjectDetector('RightEye');
 
Eye=step(EyeDetect,imgFace);
 
RightEye Eye(2,:);
 
%
To detect Mouth
 MouthDetect 
vision.CascadeObjectDetector('Mouth','MergeThreshold',16);
 
findMouth=step(MouthDetect,imgFace);
 
orderMouthsortrows(findMouth,2);
 
posMouth size(findMouth,1);
 
Mouth orderMouth(posMouth,:);

%
To detect Left Eyebrow
 LeftEyebrow   
LeftEye;
 
LeftEyebrow(4) = (LeftEyebrow(4)/2)-4;
 
LeftEyebrow(3) = LeftEyebrow(3);
 
LeftEyebrow(4) = uint8(LeftEyebrow(4));
 
LeftEyebrow(3) = uint8(LeftEyebrow(3));

%
To detect Right Eyebrow
 RightEyebrow  
RightEye;
 
RightEyebrow(4) =  (RightEyebrow(4)/2);
 
RightEyebrow(3) = RightEyebrow(3);
 
RightEyebrow(4) = uint8(RightEyebrow(4));
 
RightEyebrow(3) = uint8(RightEyebrow(3));

end 
کد بالا یک تابع است که یک عکس به عنوان ورودی میپذیره و با استفاده از object ویلاجوینز ( viola jones ) میادویژگی های اونو استخراج میکنه
مثل صورت
چشم ها
ابروها
دهان

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

PHP Code:
FDetect vision.CascadeObjectDetector;
 
Face step(FDetect,I);
 
imgFace = (I(Face(1,2):Face(1,2)+Face(1,4),Face(1,1):Face(1,1)+Face(1,3),:)); 
البته این فقط برای عکسهایی است که یک چهره در اون هست
یعنی ایندکس 1 در face(1,?) به همین جهت استفاده شده
چون وقتی کد step(FDetect,I) و اجرا میکنیم به ما یک ارایه 1 تا n سطری برمیگردونه که هر سطرش 4 تا مقدار داره که همون 4 نقطه چهره است و تعداد سطرها هم تعداد چهره های شناسایی شده
که البته یعضی وقت ها یک سری چهره ها الکی تشخیص داده میشه
یعنی همیشه ما چهره های شناسایی شده و نمیتونیم ازش مطمئن حرف بزنیم
تو تصویر هم همیشه شاید چشم راست یا همیشه چشم چپ نداشته باشیم

این کد هم از اون تابع استفاده کردم
PHP Code:
clear all;
close all;
clc

imread('1.jpg');
[
imgFaceLeftEyeRightEyeMouthLeftEyebrow,  RightEyebrow] = detectFacialRegions(I);

figure,imshow(imgFace);

hold on
    rectangle
('Position',LeftEye(1,:),'LineWidth',1,'LineStyle','-','EdgeColor','b');
    
rectangle('Position',RightEye(1,:),'LineWidth',1,'LineStyle','-','EdgeColor','g');
    %
rectangle('Position',Mouth(1,:),'LineWidth',1,'LineStyle','-','EdgeColor','b');
    %
rectangle('Position',LeftEyebrow(1,:),'LineWidth',1,'LineStyle','-','EdgeColor','y');
    %
rectangle('Position',RightEyebrow(1,:),'LineWidth',1,'LineStyle','-','EdgeColor','r');
    
hold off 
M2soft آفلاين است   پاسخ با نقل قول
از M2soft تشكر كرده است:
monir93 (۰۲-۷-۱۳۹۴)
پاسخ



كاربران در حال ديدن تاپيک: 1 (0 عضو و 1 مهمان)
 

قوانين ارسال
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is فعال
شکلکها فعال است
كد [IMG] فعال است
كدهاي HTML غير فعال است
Trackbacks are فعال
Pingbacks are فعال
Refbacks are فعال




زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۰۱:۴۲ بعد از ظهر ميباشد.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.

Teach and Learn at Hexib | Sponsored by www.Syavash.com and Product In Review

استفاده از مطالب انجمن در سایر سایت ها، تنها با ذکر انجمن هوش مصنوعي به عنوان منبع و لینک مستقیم به خود مطلب مجاز است

Inactive Reminders By Icora Web Design