PDA

View Full Version : آیا می توان در متلب یک ماتریس را در ماتریس بزرگتری شمارش کنیم ؟



black.meshki
پنج شنبه 18 آبان 1391, 22:37 عصر
سلام به همه بچه های برنامه نویس
من پروژه ای در متلب داشتم و این کار کوچک باعث میشه من در دسته بندی تصویر نصف تصویرهای بیشباهت را دور بریزم لطفا من را راهنمایی بفرمایید
مثال
ماتریسی بزرگی داریم به این صورت ( باینری )

0 0 0 0 1 0 0 0
0 0 0 0 1 0 0 0
0 0 0 1 0 0 1 0
0 0 0 0 0 0 0 0

حالا من میخوام یک ماتریس را در این ماتریس سرچ کنم و ببینم اگر وجود داشت شمارشش کنم

ماتریسی که میخوام ببینم آیا وجود داره یا خیر
0 0 1
0 1 0
0 0 0

که در این مثال برنامه باید به من عدد 1 رو برگردونه ( در واقع یک جور مشخص کردن تعداد لبه هاست )

لطفا اگر کسی میدونه منو راهنمایی کنه

با تشکر

mortezamsp
یک شنبه 21 آبان 1391, 18:44 عصر
این یه pattern matching هست. تو متلب تابع آمادش وجود داره. تابع normxcorr2 این ماتریس رو توی ماتریس بزرگه کانولو میکنه و حاصل یه ماتریس بزرگتر هست، که اگه بصورت تصویر نشونش بدی، نورانی ترین نقطه، مرکز جایی هست که ماتریس اونجا پیدا میشه.
http://s3.picofile.com/file/7553155692/1.jpg

مصطفی ساتکی
دوشنبه 22 آبان 1391, 08:52 صبح
روش های مختلفی وجود داره که یکی از آنها همبستگی هستش همونی که mortezamsp در بالا اشاره کرد که می تونید از طریق تبدیل فوریه نیز انجامش بدید طیف فوریه را برای هر 2 تصویر بدست آورده و سپس ضرب کنید سپس ماکزیمم همبستگی رو بدست آورده و تصویری که دارای بیشترین همبستگی باشه به عنوان جواب محسوب میشه.
مشکل این روش اینه Invariant scale & rotation که برای رفعش هم یک کارهایی میشه انجام داد برای scale می تونید از wavelet استفاده کنید و برای rotation هم می تونید تو زوایای مختلف طیف فوریه رو بدست بیارید مثلاً 12 طیف برای 12 زاویه و 12 عمل ضرب انجام بدید
روش هایی غیر از بالا می تونید haar like adaboost training cascade استفاده کنید
یا از روش های feature بیس استفاده کنید که ابتدا از تصویر keyPoint استخراج می کنید بعد با روش های جستجو این keyPoint ها را جستجو می کنند
یا از روش latent svm استفاده کنید

black.meshki
سه شنبه 30 آبان 1391, 04:29 صبح
متشکر از شما دوست عزیز

مساله رو در سایت اصلی متلب بیان کردم و یه آقایی متدی که خودش نوشته بود رو گذاشت

http://www.mathworks.fr/matlabcentral/answers/53212-how-can-i-count-one-matrix-in-big-another-matrix

واقعا سایت محشریه ...
حیف که برای کاربران ایرانی سایتش بسته است