المشاركات : 654
المواضيع 82
:
: 57
الإنتساب : Mar 2011
السلام عليكم
عندي فكرة جميلة وساقوم بمشاركتها معكم لاكن الاشكال هو في مقارنة صور اشخاص
سابسط الامر ساحفظ صورة شخص ما في قاعدة البيانات وعند فتح البرنامج يلتقط له صورة اخرى وهنا كيف تتم المقارنة ؟
وكيف يتم التعرف على الاوجه حيث عند فتح البرنامج يصور صورة لك ويبحث في قاعدة البيانات ويقول لك مرحبا ايها المستخدم ( معرف 1 ) ..
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
وعليكم السلام
إقتباس :عندي فكرة جميلة وساقوم بمشاركتها معكم ...
برنامج قفل Lock الجهاز ولا يفتحه الا اذا كان صاحبه (اخذ صورة له بCam الجهاز ومقارنتها)
خواريزمية التعرف تحدد نقط معينة من الصورة (وجه/عين/بصمة) وتحتفظ بها ثم عند التعرف تحاول البحث عنها والمقارنة
ابحث عن Face Recognition SDK مثل Luxand FaceSDK يمكن استخدامها بدلفي
المشاركات : 632
المواضيع 66
:
: 6
الإنتساب : Jul 2010
كما أشار الأخ B.M.AbdelAziZ عليك أن تستخدم خوارزميات / مكتبات جاهزة للقيام بهذه الأمور
إقتباس :خواريزمية التعرف تحدد نقط معينة من الصورة (وجه/عين/بصمة) وتحتفظ بها ثم عند التعرف تحاول البحث عنها والمقارنة
هل أخذت عامل الاضاءة بالحسبان ؟
------------------------------------------------------------------------------------------------------
[COLOR="Indigo"]هناك عدة خوارزميات لمقارنة الوجه .. أشهرها و أفضلها : laplacian
إقتباس :laplacian face recognition algorithm
أفضل الحلول أنك تستخدم Image Work Package : مجانية و مبرمجة بدلفي تدعم اصدارات دلفي من دلفي 3 الى XE3 :
بها العديد من الفلاتر .. من بينها Laplacian[/COLOR]
كود :
delphiarea.com/products/delphi-packages/imagework/
-----------------------------------------------------------------------------------------------------
سأعطيك فكرة على السريع بدون استخدام خوارزميات و مكتبات خارجية :
-قم بالتقاط الصورة للشخص
-ثم قم بتحويل الصورة لى أبيض و أسود أو تأثير Sepia Effect/GrayScale من أجل التخلص من عامل الاضاءة (لأ الشخص ممكن أن يكون أمام اضاءة قوية أو عتمة أو ... )
-احفظ جزء معين من الوجه (يعني مستطيل بطول 4 سم و عرض 6 سم ) من المنطة الوسطى للوجه (منطقة غير متغيرة ... -المنطقة العلوية للوجه متغيرة بسبب تسريحة الشعر-
)
- قم بحفظها في قاعدة البيانات
-قم بالمقارنة بين ال Bytes الخاصة بالصورة الأولى المخزنة في قاعدة البيانات و الصورة الثانية التي تم التقاطها ( يفضل أن تستخدم تعليمة xor للمقارنة مثل تعليمة CompareStr يعني النتيجة تساوي = نسبة الاختلاف ))
PHP كود :
function CmpFaceImage(Image1,Image2:TBitmap):Integer;
begin
Result:=Image1Bytes xor Image2Bytes ;
end;
-ثم مرحلة التأكد من الشخص : يتم فيها مقارنة القيمة التي تعيدها CmpFaceImage بعدد ثابت (تستنتجه تجريبيا ) :
PHP كود :
const FaceIndice = Something;
function IsSameFace(CmpFaceImageResult:Integer ):Boolean ;
begin
Result:= CmpFaceImageResult < FaceIndice ;
end;
المشاركات : 632
المواضيع 66
:
: 6
الإنتساب : Jul 2010
ألق نظرة على VCOpenCV
كود :
delphimagic.blogspot.com/2011/08/reconocimiento-de-caras-con-delphi.html
المشاركات : 306
المواضيع 45
:
: 0
الإنتساب : Jul 2012
*اضافة : اضن العملية ستكون ادق وافضل عندما تكون الصورة المخزن بقاعدة البايانات عبارة عن مجسم 3d او على الاقل عدة صور من عدة مناطق لنفس الشخص ...