PDA

View Full Version : زبان برنامه نویسی مناسب برای پردازش تصویر



حمیدرضاصادقیان
چهارشنبه 30 تیر 1389, 23:09 عصر
سلام دوستان.میخواستم ببینم دوستانی که تجربه عملی و تجاری در زمینه پردازش تصویر داشتند ، برنامه هایی که نوشتند ایا از نرم افزار matlab استفاده کردند یا از زبانهایی مانند سی یا دلفی؟ و کدومش رو برای یک پردازش حرفه ای پیشنهاد میدن؟
باتشکر

emadfa
پنج شنبه 31 تیر 1389, 08:42 صبح
هر چند matlab قدرتمند ترین ابزار برای پردازش تصویر است اما عملا چیزی به اطلاعات شما افزوده نمی شود چون همه چیز در قالب کلاس وجود دارد....
از آن جا که performance در پردازش تصویر اهمین دارد بنابراین هر کدام از زبان های ++C یا Delphi یک انتخاب خوب است....

DAMAVAND
پنج شنبه 31 تیر 1389, 08:45 صبح
خدمت شما عرض کنم که بستگي داره چه استفاده اي ميخواهيد بکنيد ?
نرم افزار متلب مناسب هستش براي شروع کار چون توابع آماده براي اين کار داره کلا در کار هاي آکادميک و آزمايشي ازش استفاده ميشه خوب ولي صد البته امکانات ديگر محيط هاي برنامه نويسي رو براي ساختن يک برنامه مستقل و کاربردي رو نداره اما براي ياد گرفتن مفاهيم بسيار خوب وضروري هستش .
کلا زبان خيلي مهم نيست اين الگوريتم هست که مهمه ولي خوب يک معيار خيلي مهم در خيلي از کارهاي پردازش تصوير سرعت انجام کد هست در اين زمينه C++ و دلفي پيشنهاد ميشه من خودم با دلفي تا حالا مشکلي نداشتم و راحت ميشه برنامه با FPS بالا نوشت. سرعت در دات نت رو نمي دونم ولي فکر نميکنم در حد زبان هاي مثل C++ و دلفي که کد Native توليد ميکنن باشه ويژوال بيسيک هم که .....

Alireza_Salehi
پنج شنبه 31 تیر 1389, 09:44 صبح
matlab ابزارهای آماده بسیاری داره، استفاده از این ابزارها به شرط دانستن مفهوم و کاربرد هر ابزاری کار ساده ای است...

CPP سرعت فوق العاده ای داره البته کتابخانه های آماده ای هم داره ولی کمتر از Matlab...


سی شارپ هم سرعت مناسبی داره و به دلیل ساده تر بودن کدنویسی نسبت به MAtlab و CPP زمان توسعه شما رو کم میکنه ضمن این که در صورت نیاز میشه به صورت unmanaged هم برخورد کرد.

در ضمن ترکیب سی شارپ و Matlab خیلی سریع نیست (پردازش در Matlab و عملیات دیگر در سی شارپ) ولی زمان توسعه شما رو کم میکنه.

اگر سرعت بالایی نیاز دارید باید کد های Matlab به CPP تبدیل شوند.

برای این که درگیر پیاده سازی نشوید ابتدا در MAtlab الگوریتمتان را تست کنید و بعد از این که مطمئن شدید به درستی کار می کند آن را تبدیل به CPP کنید. کتابخانه هایی مثل opencv و ... هستند که می توانید معادل توابع Matlab را برای CPP در آنها پیدا کنید.

مصطفی ساتکی
پنج شنبه 31 تیر 1389, 10:10 صبح
با دلفي بخاي كار كني كتابخانه اي باشه كه جوابتو بده و Open Source باشه نداريم و اگر هم هست اون كارايي مناسب رو نداره .من در طول چندين سال كار خودم كتابخانه اي تو دلفي آماده كردم.
اگر تو دلفي سورس Imageen رو داشته باشيد مي تونه تو پياده سازيتون بهتون كمك كنه.imageen بيشتر رو ويرايش تصوير تاكيد داره تا پردازش.فقط جنبه هاي پياده سازيشون خوب و آموزنده است.البته قابل ذكر كه همشون هم دست خطشون داغونه .البته كد نقص نداره فقط موقع view سورس سر درد مي گيرد .اينقدر كه بي ملاحضه بودن.
پردازش تصوير وابستگي زيادي به مباحث همچون شبكه عصبي و آمار داره.كه باز هم شما كتابخانه مي خايد.
البته من آنقدر كله خرابم كه كتابخانه شبكه عصبي رو خودم نوشتم .Open Source كار درست نديدم .يكي از كاربردي ترين شبكه هاي mlp كه تو train اون اگر متد خوبي رو استفاده نكنيد خيلي زمانگير ميشه.چند تا كتابخانه اي كه من ديدم از متدهاي Train درست حسابي استفاده نمي كن.
و يه كتابخانه آمار هم ميخاي كه مي تونه از tpmath استفاده كني ناكس هم توابع رو از dll فراخواني ميكنه.

اما اينكه از كتابخانه هم بخاي استفاده كني بايستي تو پياده سازي 2 مورد اول يا حتي مورد آخر تسلط داشته باشين .چون اگر بخايد حرفه اي اين فيلد رو دنبال كنيد گاهي با مواردي روبرو ميشيد كه اين كتابخانه هاي به كارتون نميياد. مثلاً پياده سازي ديناميك threashold ديگه بايستي آستين بالا بزنيد خودتون دست به كاربشيد.
گاهي اوقات تلفيق چند تا شبكه به طوريكه بعضي از شبكه ها متد train اونا ابداعيه ممكنه باشه.
لبه گيري يه كار معمول كه تو Segmentation بكار مياد .گاهي اوقات واسه يه كاري هيچ كدوم از لبه ياب ها بكارتون نمياد حتي هيچ كتابخانه همچين چيزي نداره حتي matlab .اين تسلط شما رو تو اين مبحث ميروسنه كه براي پياده سازي همچين چيزي چقدر اطلاعات داشته باشين مثلاً فازي يا wavelet يا شبكه و هر كدوم از اينها باشن يا كدوم متدش.
به هر حا ورود به اين دنيا دردسرهاي خودشو هم داره.
من جديداً خودم دارم Visual c++ كار مي كنم و OpenCV .به نظر اگر تازه ميخايد استارت بزنيد با اين 2 تا شروع كنيد خيلي بهتر چون تو وب منابعي بيشتري پيدا مي كنيد .من خودم هر وقت دنبال كد مي گردم يا C# يا C++ و جاوا. و اين تبديل كردن هميشگي كد يه خورده سخته.
در ضمن رابطه شما با IEEE و مقاله هم بايستي خوب باشه چون تو كارهاي خيلي مي تونه مفيد باشه.

حمیدرضاصادقیان
پنج شنبه 31 تیر 1389, 12:12 عصر
سلام.باتشکر از همه دوستان.پروژه ای که داریم روش کار میکنیم ارسال تصویر با استفاده از شبکه ad hoc به روی گیرنده هاست بدون هیچ بستر ارتباطی.فرض رو براین بگیرید که تمام بسترهای ارتباطی ما ، تقویت کننده ها از بین رفته و ما نیاز داریم بدون راه اندازی بستر اینکارو بکنیم.الان داریم روی ad hoc این کارو انجام میدیم.الان داریم روی بحث پردازش تصویر کار میکنیم.که تصویر به صورت pakcet ارسال بشه و رد مقصد این pakcet ها با هم مچ بشن و تصویر رو نشون بدن.حتی اگر این وسط بعضی از packet ها هم به مقصد نرسید باز یک تصویر معمولی به گیرنده ها ارسال میکنیم.
بیشتر برای این موضوع خواستیم. که حالا میگن میتونید برای تست اولیه از همون matlab استفاده کنید.