PDA

View Full Version : سوال در مورد مقایسه 2 تصویر



iradata
چهارشنبه 09 تیر 1389, 00:53 صبح
سلام

کسی هست بدونه که چه طور میشه 2 تصویر روو با هم مقایسه کرد

مثلا تصویر 2 اثر انگشت رو می خواهم با هم مقایسه کنم باید چی کار کنم :گیج:

Shahram_Shobeiri
چهارشنبه 09 تیر 1389, 07:12 صبح
یه روش اینه که از هر عکس یک جدول رنگ تهیه کنی. یعنی مثلاً بگی 17 درصد مشکی، 12 در صد خاکستری و ... .بعد بیای این دو تا جدول رو که برای دو تا عکس تهیه کردی با یه درصد خطایی با هم مقایسه کنی. البته اگه ممکنه که سیستم رنگی دو عکس با هم متفوت باشن، بهتره که بیای و اونها رو به یه سیستم رنگی مشترک (مثلاً سیاه سفید) تبدیل کنی و بعد عملیات بالا رو انجام بدی.
البته این الگوریتم خیلی دقیقی نیست و فکر نکنم به درد اثر انگشت بخوره!!!

مصطفی ساتکی
چهارشنبه 09 تیر 1389, 14:23 عصر
شما چرا عادت نمی کنید که هر سوال تو تالار مختص به خودش بپرسید .
مدیرا لطف کنن این تاپیکو انتقال بدن.


کارایی تو زمینه تشخیص اثر انگشت یک به اون اسکنر یا سنسوری بر می گرده که تصویرو برای نرم افزارتون تهیه می کنه و دیگری به متدی که تشخیص اثر انگشت رو پیدا می کنه .اگر اسکنرتون کیفیتش خوب نباشه با فیلتر Gabor pass band میشه یه مقدار این افت کیفیت رو جبران کرد.فرض بر این بگیریم که شما اسکنر خوبی دارید یا تصاویر ورودی وضوح خوبی دارند.
از جمله مسائل دیگری غیر از الگوریتم تشخص به اون برخورد می کنید متد data mining تونه که این هم خیی موثر .یعنی تصاویر به چه صورت ذخیره شن که کمترین حجم و محتواشون هم آسیب ندیده باشه به اون اندازه باشه که تو benchmark کلی سیستم رو کاهش نده.اگر بخایم از بهترین روش در این زمینه استفاده کنیم تبدیل wavelet میتونه باشه که و تا اینجا شما یه database با کیفیت و سبک دارید.
با هر روش که بخاید اینکارو انجام بدید اینکار به طور کلی 3 تا فاز اصلی داره :
1- عملیات پیش پردازش مربوط به threshold که اصطلاح دیگرش binarization هم است .
2- عملیات استخراج minutiae
3- فاز مقایسه

فاز اولتون تو کارایی خیلی تاثیر داره سعی کنید برای threshold از حتی المکان از روش های دینامیک ،آداپتیو یا local استفاده کنید چون میگی threshold این تو فکر بعضی ها میاد اگر شدت پیکسل از a بزرگتر باشه شدت 255 و در غیراینصورت شدت صفر یا همون رنگ سیاه . این روش تو این مسئله ناکار آمده چون band ی رو که طیف grayscale تو این دست تصویرا به خودش اختصاص میده خیلی عریض اگر از اثر انگشت ها هیستوگرام بگیرید این قضیه بهتون ثابت میشه brightness به شدت در تصاویر مختلف نوسان داره و اگر از روش Global استفاده کنید پس از اعمال threshold رو تصاویر مختلف مبینید یکیش به شدت توش Dilation صورت گرفته و یکی توش Erosion .
ساده ترین راه همون روش local برای پیاده سازیش کافیه از کل تصویر mean بگیرید یه عددی مثل t حالا تصویر پیمایش کنه در هر مختصاتی که هستید میانگین شدت رو برای اون مختصات با توجه به 8 خونه مجاورش بدست بیارید حالا اگر بزرگتر مساوی t بود 255 یا سفید و در غیر اینصورت شدت رو برای اون خونه صفر در نظر بگیرید .(شدت هایی رو که جدید بدست میارید تو یه bitmap جدید قرار بدید اشتباهاً تو همون تصویر اصلی قرار ندید)

تو فاز دوم بایستی مسیر ها یا همون لبه ها و انشعاب ها رو شناسایی کنید البته ممکن بعضی از اینها نویز هم باشه که بایستی با استفاده از مساحت یا متد خزیدن حذفشون کنید یه حد در نظر بگیرید اونایی که کمتر از مقدار نرمالن حذف شن .علاوه بر اون از روی نقاطع تقاطع بایستی یه سری feature ها موجود رو تشخیص بدی مثلاً اشکال مثلثی یا جاهایی که بین دو تا لبه پل خود یا تقاطع هایی که به صورت چهار راه هستند رو حذفش کنی و اگر بین endpoint ها فاصله افتاده (تا یه حدی) اونا رو بهم نزدیک کنی . تا اینجا تصویر از لبه ها داریم که قسمت های زائدشون حذف شده .

تو فاز سوم که خیلی حساس بایستی این لبه ها با اونایی که تو database مقایسه بشه . برای مقایسه یه مبداً بایستی در نظر بگیریم که انتقال همه تصاویر نسبت به اون یکسان و زاویه قرار گیرشون هم یکسان باشه . تنهایی جاهایی که تو این مقایسه می تونه مفید باشه همون نقاط تقاطع اند . ما تاجایی که می تونیم بایستی این مقایسه رو بین لبه هایی موجود در 2 تا اثر انگشتی که مقایسه می کنیم کاهش بدید . از اونجایی که هر کدوم از این لبه ها رو یه خط در نظر بگیریم هر خط تو فضا میشه یه نقطه و یه زاویه نسبت به سطح افق . میایم اونایی لبه هایی که به تقاطع ختم میشه رو با هم مقایسه می کنیم و میزان distance کلی رو از مجموع همه این distance ها بدست میاریم .به کوچکترین Distance بدست آماده میشه هدف اگر این distance از یه حدی بزرگتر شد اصلاً اون اثر انگشت تو database وجود نداره
موفق باشید