PDA

View Full Version : جستجوي يك تصوير در تصوير ديگر



vbhamed
پنج شنبه 01 اسفند 1387, 02:22 صبح
سلام

فرض كنيد شما تعدادي رشته داريد و مي خواين توي اونها هر چي كلمه txt هست رو به Text تبديل كنيد
قاعدتا از instr و replace و ... استفاده ميشه

حالا مي خواهيم اين كار رو با تصوير انجام بديم
يعني تعدادي تصوير داريم كه مثلا توي اونها مثلا عكس يك موبايل 32*32 وجود داره
حالا مي خوايم توي اون تصاوير عكس موبايل تبديل به يك عكس 32*32 ديگه بشه
ضمنا عكس موبايل جستجو شونده رو هم در يك picturebox داريم

براي توضيح بيشتر عكس ضميمه را ببينيد

m_vb1386
پنج شنبه 01 اسفند 1387, 07:36 صبح
سلام
فكر كنم اگه پيكسلهاي يك سطر از تصوير سمت راست رو با پيكسهاي تصوير سمت چپ همونجايي كه همه تصوير ها هستن رو مقايسه كنيد بشه مشخص كرد كه تصوير كدوم يكي ميشه اگه تصاوير بسيار شبيه به هم باشن بايد اين كار رو براي پيكسلهاي بيشتر انجام داد

vbhamed
پنج شنبه 01 اسفند 1387, 10:39 صبح
سلام

نمونه اين كار با مقايسه پيكسلي انجام شده اما از اين روش بسيار وقت گير است
فرض كنيد قراره عكس موبايل مورد نظر داخل 100 عكس تبديل به چيز ديگري شود
ولي حتي براي يك تصوير هم وقت گير است

البته در نمونه ما مزيتي كه وجود داره اينه كه تصاوير تقريبا 100 درصد شبيه هستند

m_vb1386
پنج شنبه 01 اسفند 1387, 11:16 صبح
خوب من هم بخاطر همين گفتم فقط تعداد محدودي از پيكسلها اول مقايسه بشن تا نياز نباشه كل پيكسلهاي تصاوير با هم مقايسه بشن اينجوري فكر كنم سرعت بيشتر بشه اصلا تصاوير با پيكسلها ساخته ميشن
ايا شما ايده جديدي دارين؟

xxxxx_xxxxx
پنج شنبه 01 اسفند 1387, 11:50 صبح
خوب من هم بخاطر همين گفتم فقط تعداد محدودي از پيكسلها اول مقايسه بشن تا نياز نباشه كل پيكسلهاي تصاوير با هم مقايسه بشن اينجوري فكر كنم سرعت بيشتر بشه اصلا تصاوير با پيكسلها ساخته ميشن
ايا شما ايده جديدي دارين؟
باز هم زمان زيادي طول ميكشه تا همه تصاوير مقايسه شن. شما براي هر تصوير 1 ثانيه هم كه درنظر بگيريد اگه 100 تا تصوير باشه ميشه 100 ثانيه.

آيا شما نمي تونيد تصاوير رو از هم تفكيك كنيد و به صورت آرايه بشن؟

m_vb1386
پنج شنبه 01 اسفند 1387, 12:14 عصر
از نظر زماني كه محاسبه كردين حق با شما هست ولي صدمين تصوير 100 ثانيه طول ميكشه و بقيه زمان كمتري ميگيرن

vbhamed
پنج شنبه 01 اسفند 1387, 23:07 عصر
سلام

براي هر تصوير 5 ثانيه هم طول بكشه مهم نيست

Mbt925
جمعه 02 اسفند 1387, 00:01 صبح
در کل روش ساده ای (غیر تخصصی) که بتونه خیلی سریع عمل کنه وجود نداره.

ولی میشه بجای مقایسه پیسکلی دو تصویر از روش KMP (روشی برای مقایسه الگو) که مرتبه ای برابر با N+M (برای یافتن رشته ای به طول n در برداری به طول M ) داره استفاده کرد.


روش کار به اینصورت خواهد بود:

ردیف اول تصویر1 (تصویری که قرار جایگذاری بشه) رو در تصویر 2 (تصویر مبدا) پیدا می کنیم.
(با استفاده از روش KMP)

در صورتی که یافت شد، ردیف دوم رو هم بررسی می کنیم، اگه همه ردیف ها یکسان بودند، مقایسه کامله.

----------------

می تونیم روش KMP رو بصورت دوبعدی پیاده سازی کنیم که برای تصویری با ابعاد N X M و تصویر مبدایی با ابعاد K X P مرتبه ای برابر با K+P+N+M خواهد داشت.

پیاده سازی دوبعدی بصورت زیر خواهد بود:

ردیف افقی تصویر1 رو در تصویر2 پیدا میکنیم.
ردیف عمودی رو نیز به همین ترتیب.
در صورتی که نقطه شروعشون باهم برابر بود :
-اگه میشه نتیجه گرفت که تصویر موردنظر هست، مقایسه کامله.
- در غیر اینصورت ردیف های بعدی هم بررسی میشن.

توجه: اگه بدنبال روشی مناسب هستید باید کمی وقت بذارید.
>> مثل این روش.

reza10203045
جمعه 09 اسفند 1387, 10:52 صبح
دوست عزیز آقای vbhamed آیا در این مورد به نتیجه ای رسیدید

reza10203045
جمعه 09 اسفند 1387, 17:24 عصر
سلام
اقای mbt925 آیا شما روش بالا رو پیداه سازی کرده اید ونتیجه به چه صورت بوده

a_mohammadi_m
یک شنبه 24 خرداد 1388, 17:47 عصر
پيشنهاد
اطلاعات پيكسلها رو بصورت عدد در يك آرايه يك بعدي بريزيد و با آرايه مربوط به تصوير دوم مقايسه عددي انجام بديد
فكر كنم الگوريتمهاي بسيار پيشرفته اي در مورد مقايسه عددي وجود داشته باشه