PDA

View Full Version : بهترین الگوریتم بزرگ نمایی...؟!



IamOverlord
پنج شنبه 02 مرداد 1393, 14:52 عصر
سلام دوستان!
بهترین الگوریتم[های] بزرگ نمایی تصویر چی هستـ[ـند]؟!
مثلا برای تصاویر مناظر طبیعی...

mt.mohamad
یک شنبه 05 مرداد 1393, 11:00 صبح
دوست عزیز بهتره واضح تر سوالتونو بیان کنید
اگر منظورتون از الگوریتم , interpolation در تصویر هست؟ که خب روش Bicubic بهترین نتیجه رو با کمترین افت کیفیت بهتون میده..البته زمانش زیادتر از روش های دیگست.

IamOverlord
یک شنبه 05 مرداد 1393, 21:04 عصر
بله، منظورم اینه که در بزرگ نمایی نتیجه ی بهتری بگیریم...
ممنونم... این طور که متوجه شدم در روش Bicubic از ۴ * ۴ نقطه برای نوشتن معادلات استفاده می شه و ۱۶ ضریب استخراج می شه... در Bilinear هم از ۲ * ۲ نقطه و ۴ ضریب استفاده می شه...
حالا می خواستم بدونم آیا از روش های دیگه ای با تعداد نقاط بیش تر برای درون یابی استفاده می شه یا نه و آیا به درد بخور هست؟ مثلا استفاده از ۶۴ * ۶۴ نقطه برای درونیابی...
غیر از روش های درون یابی آیا روش های دیگه ای هم هست؟

mt.mohamad
دوشنبه 06 مرداد 1393, 08:01 صبح
بله، منظورم اینه که در بزرگ نمایی نتیجه ی بهتری بگیریم...
ممنونم... این طور که متوجه شدم در روش Bicubic از ۴ * ۴ نقطه برای نوشتن معادلات استفاده می شه و ۱۶ ضریب رو استخراج می شه... در Bilinear هم از ۲ * ۲ نقطه و ۴ ضریب استفاده می شه...
حالا می خواستم بدونم آیا از روش های دیگه ای با تعداد نقاط بیش تر برای درون یابی استفاده می شه یا نه و آیا به درد بخور هست؟ مثلا استفاده از ۶۴ * ۶۴ نقطه برای درونیابی...
غیر از روش های درون یابی آیا روش های دیگه ای هم هست؟
بله حق با شماست.
ولی اگر بخواین از کتابخانه های آماده مثل opencv استفاده کنید , جواب منفی هست.چرا که بهترین روش روش Bicubic هست چون جزییات کمتری ممکنه از دست بره.
البته در این مباحث غیر ممکن وجود نداره, شما میتونید با مراجعه به سورس های کتابخانه ها تغییرات مورد نیازتونو اعمال کنید که البته در این مبحث منظور از تغییر چیزی فراتر از مثلا بزرگتر کردن کرنل هست, به هر حال تا اونجایی که من تحقیق کردم و دیدم این روش بهینه ترین هست
البته بستگی داره شما به چه منظوری بخواین تصویرو تغییر بدید.
مثلا اگه هدف شما استخراج ویژگی مثلا لبه یابی باشه به نظرم استفاده از روش NN و Linear بهتر جواب میده:لبخندساده:

IamOverlord
دوشنبه 06 مرداد 1393, 08:45 صبح
راستش می خوام یه برنامه ای درست کنم که بهش تعدادی تصویر بدیم تا در حافظه اش ثبت بشه و بعد یه تصویر جدید بدیم و برنامه اون تصویر جدید رو با توجه به تصاویری که از قبل داشته بزرگ کنه و جزئیات از دست رفته رو بازیابی کنه یا حتی واسه خودش جزئیات تولید کنه!
مثلا شما فرض کنید تعداد زیادی عکس با کیفیت بالا از نماهای مختلف یه ساختمون دادیم بهش، حالا یه عکس نسبتا کوچک تر و کم جزئیات تر رو به برنامه می دیم، انتظار داریم که برنامه در بزرگ نمایی این تصویر جدید تا جایی که می تونه از تصاویر قبلی کمک بگیره و تصویر جدید رو بزرگ تر و حتی با کیفیت تر کنه...
نمی دونم آیا قبلا چنین چیزی پیاده سازی شده؟ ممکن هست؟ ...
حالا می خوام ببینم این الگوریتم هایی که فعلا هستن بر چه اساسن...
ضمنا تا الان تعدادی برنامه در این رابطه نوشتم که اون چیزی که می خواستم نشد... البته الان یه ایده ی جدید تر دارم...
خیلی دوست دارم با یک یا چند نفر دیگه هم همکاری کنم و از ایده هاشون استفاده کنم...

mt.mohamad
دوشنبه 06 مرداد 1393, 09:58 صبح
ایده خیلی جالبیه.
برنامه ای با این طرز کار فکر نمی کنم انجام شده باشه اما نمونه ی تقریبا مشابه به ایده شما سیستم هایی هستن که در بیشتر دوربین های دیجیتال و حتی گوشی های موبایل وجود دارند با نام HDR به این صورت از نمای جلو دوربین چند عکس با شرایط نوری و کنتراست و سطح رنگ مختلف گرفته میشه و ترکیبی از این تصاویر به عنوان خروجی اعمال میشه که البته ایده شما چیزی فراتر از این موضوع هست.
به نظرم این لینک (http://docs.opencv.org/trunk/doc/tutorials/photo/hdr_imaging/hdr_imaging.html#hdrimaging) کمی بتونه بهتون کمک کنه.
براتون آرزوی موفقیت دارم.