نمایش نتایج 1 تا 4 از 4

نام تاپیک: پردازش تصویر در C#‎‎

  1. #1
    کاربر جدید آواتار EhsanHejazi
    تاریخ عضویت
    آبان 1390
    محل زندگی
    قم
    سن
    29
    پست
    12

    Exclamation پردازش تصویر در C#‎‎

    سلام به همه ی دوستای خوبم...
    راستش من الان 4-5 ماهی است که پردازش تصویر توی C#‎‎‎‎ رو شروع کردم و از همون اول خودم رو از کار با opencv و Mathlabمنع کردم چون به نظرم هیچ فایده ای نداره که با نوشتن یک دستور یک عکس رو مثلا negative کرد بلکه باید اصول این کار رو از پایه بررسی کرد و من حتی توی کارم در C#‎‎‎‎ از دستورات setpixel و getpixel هم استفاده نکردم و از اشاره گر ها استفاده می کنم چون سرعت اون ها خیلی پایینه مخصوصا توی برنامه های پیچیده...می خواستم نظر شما رو هم در این مورد بپرسم...من الان دارم به همراه دوست بسیار خوبم آقای یوسف شه نهاد روی یک پروژه Machine Vision برای جشنواره خوارزمی کار می کنم...اگه کسی بتونه در این رابطه هم کمکم کنه خیلی ممنون می شم...مخصوصا اگه کسی توی رشته ی کامپیوتر در جشنواره ی خوارزمی طرحی داشته و در رابطه با گزارش علمی طرح هم تجربه داره...
    آخرین ویرایش به وسیله EhsanHejazi : چهارشنبه 16 فروردین 1391 در 23:20 عصر

  2. #2
    کاربر جدید آواتار black_wear
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    ایران
    پست
    20

    نقل قول: پردازش تصویر در C#‎‎

    سلام
    دوست عزیز خیلی عالیه که اطلاعاتتون پایه ای باشه اما اگه علاقمند به سرعت بالا هستید اصلا #C رو پیشنهاد نمیکنم.
    توابع آماده OpenCV خیلی سریعتر از اشاه گرها در #C هست.

  3. #3
    کاربر جدید آواتار EhsanHejazi
    تاریخ عضویت
    آبان 1390
    محل زندگی
    قم
    سن
    29
    پست
    12

    نقل قول: پردازش تصویر در C#‎‎‎

    دوست عزیزم ،مطمئنن گروهی که روی opencv کار می کردن هم گروه خیلی بزرگتری بودن و هم اطلاعات خیلی وسیع تری داشتن ولی نکته این جاست که مثلا شما می خواید که از مقدار رنگ قرمز یک پیکسل کم کنید ولی دستور آماده ی opencv هم مقدار رنگ قرمز،هم آبی و هم سبز رو با یک تابع از شما دریافت می کنه و سرعت کار می یاد پایین و شما یک کاره اضافه انجام دادید و نمونه های دیگه(البته شاید مثالی که زدم توی opencv راه حلی داشته باشه ولی توی موارد دیگه این اتفاق امکان داره که بیفته)...به نظر من نوشتن دستورات از پایه و درک اون ها و خصوصی سازی به نحوی که نیاز داریم خیلی بهتره...مثلا لبه یابی که قصد داریم انجام بدیم رو می تونیم به طریقی که می خواهیم خصوصی سازی کنیم(به جای استفاده از الگوریتم آماده ای مثل روش canny)...

  4. #4
    کاربر دائمی آواتار مصطفی ساتکی
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    www.7khatcode.com
    پست
    1,193

    نقل قول: پردازش تصویر در C#‎‎‎‎

    نقل قول نوشته شده توسط EhsanHejazi مشاهده تاپیک
    دوست عزیزم ،مطمئنن گروهی که روی opencv کار می کردن هم گروه خیلی بزرگتری بودن و هم اطلاعات خیلی وسیع تری داشتن ولی نکته این جاست که مثلا شما می خواید که از مقدار رنگ قرمز یک پیکسل کم کنید ولی دستور آماده ی opencv هم مقدار رنگ قرمز،هم آبی و هم سبز رو با یک تابع از شما دریافت می کنه و سرعت کار می یاد پایین و شما یک کاره اضافه انجام دادید و نمونه های دیگه(البته شاید مثالی که زدم توی opencv راه حلی داشته باشه ولی توی موارد دیگه این اتفاق امکان داره که بیفته)...به نظر من نوشتن دستورات از پایه و درک اون ها و خصوصی سازی به نحوی که نیاز داریم خیلی بهتره...مثلا لبه یابی که قصد داریم انجام بدیم رو می تونیم به طریقی که می خواهیم خصوصی سازی کنیم(به جای استفاده از الگوریتم آماده ای مثل روش canny)...
    هیچ هم اینطوری نیست کتابخانه openCV توسط شرکت intel نوشته شده و بالاترین performance رو بین کتابخانه های موجود داره و در ابتدا در ansi C پیاده سازی شده .من چندین سال که به صورت حرفه ای dip کار می کنم و تو کامپایلرهای مختلف کتابخانه نوشتم در نهایت به ansi Cو C++‎ همگرا شدم .خود ansi C بهترین performance رو در بین زبان های دیگه برای کار با اشاره گر ها داره.
    من بیشتر توابع موجود در opencv رو سابق در کتابخانه خودم داشتم intel در توابع پایه ای بسیار عالی کار کرده و از fpu و gpu هم به خوبی استفاده کرده شما اول سورس های opencv رو ملاحضه کنید و بعداً اظهار نظر کنید.
    برای کار با تصویر می تونید از iterator ها یا از عملگر at و یا به صورت اشاره گر بهمراه widthStep استفاده نماید که در مورد آخر کد پیجیده میشه و بهترین performance رو به شما میده. در ضمن اکثر توابعی که ذاتاً سریال نباشند رو هم opencv به صورت gpu base داره.

    در چه شرایطی از opencv استفاده نمیشه. مثل توسعه engine های بزرگ موجود که کاربر فقط قصد توسعه داشته باشد این engine ها خودشون اکثر توابع رو پیاده سازی کردند و نمی تونن به دلایلی از opencv استفاده کرد. در این شرایط می تونید از opencv جهت ورودی خروجی و نمایش استفاده نماید.
    موفق باشید

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •