اطلاعیه

Collapse
No announcement yet.

تبدیل M-File به DLL

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    تبدیل M-File به DLL

    با سلام فراوان،

    1- نحوه تبدیل M-File به DLL چه جوریه؟

    2- سرعت پردازش DLL ساخته شده از M-File درC#‎ با زمانیکه کد M_File

    واقعا در C#‎ پیاده شده متفاوته؟

    چون یکی از دلایلی که از C#‎ برای پردازش تصویر استفاده میشه سرعتشه.

    #2
    پاسخ : تبدیل M-File به DLL

    هوالحق


    سلام دوست من

    اگر بشه همچین کاری کرد خیلی خوبه
    اگر سر نخهایی گیر آوردین بزارین با هم روش کار می کنیم.

    دیدگاه


      #3
      پاسخ : تبدیل M-File به DLL

      هوالمحبوب

      بحث تبدیل M-File به DLL را در یکی از پستهای همین سایت دیدم.

      و امیدوارم اینکار شدنی باشه و بتوان براحتی در #C از اون استفاده کرد.

      دیدگاه


        #4
        پاسخ : تبدیل M-File به DLL

        هوالحق


        دوست من اگر لینکشو دارین لطفا بزارینش

        ما اگر نتونیم از شبیه سازی هایی که انجام می دیم در عمل استفاده کنیم عملا هیچ بهره ای نبردیم.

        دیدگاه


          #5
          پاسخ : تبدیل M-File به DLL

          سلام بچه ها من خودم یه تازه کار بیشتر نیستم ولی اینو یه دوست عزیزی انجام داده امیدوارم که بدردتون بخوره
          کامپایلر MATLAB
          نویسنده : امین درستانیان
          می دونین که کاری نیست که نشه با MATLAB انجام داد .MATLAB به خاطر سادگی نحوه programming و در عین حال داشتن toolbox های پرکاربردی که داره همیشه پرطرفدارترین نرم افزار مهندسی هست. اما گاهی به خاطر حجم زیاد این نرم افزار و Portable نبودن برنامه هاش و علل دیگه ای مجبوریم که از زبان های دیگه ی برنامه نویسی مثل C استفاده کنیم . اما از اونجایی که یه مهندس خوب یه مهندس تنبله (!) حوصله ای برای نوشتن headerو library نداره ؛ اینجاست که کامپایلر MATLAB به دادش می رسه!
          ------------------------------------------------------------------------------------------------------------
          از کامپایلر MATLAB برای تبدیل برنامه های این نرم افزار به برنامه های کاربردی (apps) و کتابخانه ها استفاده می شود تا بتوانیم از آنها در جایی که MATLAB نصب نیست؛ نیز استفاده کنیم. شما می توانید M-file ها و Mex های MATLAB را کامپایل کنید. کامپایلر MATLAB تمامی امکانات این نرم افزار را تحت پوشش خود دارد ؛ مثل شئ ها، توابع اختصاصی و متدها .
          کامپایلر می تواند برنامه های مستقل C و C++ روی Unix، Windows و Mac را ایجاد کند و یا کتابخانه های پویا (DLL) روی .NET به شما تحویل بدهد.
          با استفاده از دستور mcc کامپایلر فراخوانی می شود. همچنین شما می توانید از رابط گرافیکی (GUI) استفاده کنید ؛ برای این کار دستور deploytool را در prompt وارد نمایید.





          • لازم به ذکر است این امکانات در MATLAB 7.2 و نسخه های بالاتر قابل دسترسی است.
          • قبل از استفاده از کامپایلر شما باید آن را نصب و پیکربندی کنید که این کار توسط دستور mbuild-setup قابل انجام است.
          • هنگامی که شما برنامه ها یا DLL های تولیدی MATLAB را توزیع می کنید(Distribute) باید MATLAB Component Runtime یا همان MCR را به عنوان برنامه پشتیبان همراه داشته باشید.
          • از آنجایی که دسترسی به سایت MATHWORKS به همین سادگی در ایران امکان پذیر نیست می توانید از لینک زیر MCR را دانلود کنید!
          http://mathcs.holycross.edu/~soares/download_files/MCRInstaller.exe
          برخی از toolbox های MATLAB نیز قابل کامپایل هستند و شما می توانید در برنامه نویسی به زبان های دیگر از آنها استفاده کنید.
          کامپایلر فایلی با پسوند ctf را نیز تولید می کند که مستقل از نتیجه نهایی است. این فایل حاوی توابع MATLAB و داده هایی است که برنامه یا DLL را تعریف می کند.
          پ.ن : این متن صرفا برای آشناییتون با این امکان در MATLAB بود . برای اطلاعات بیشتر مسلما help خود نرم افزار مفید خواهد بود.
          Useful Link:
          Using MATLAB Functions in C# (.NET)
          http://xinyustudio.wordpress.com/2009/11/12/using-matlab-functions-in-c-2009b/

          دیدگاه


            #6
            پاسخ : تبدیل M-File به DLL

            با تشکر فراوان از دوستان

            آیا استفاده از DLL و برنامه MCR سرعت پردازش را نسبت به استفاده

            از کتابخانه هایی مثل AForge و Opencv در #C پائین نمیاره؟

            و MCR مانند compiler مطلب کند نیست؟!

            دیدگاه


              #7
              پاسخ : تبدیل M-File به DLL

              نوشته اصلی توسط shahre ghashang
              هوالحق


              دوست من اگر لینکشو دارین لطفا بزارینش

              ما اگر نتونیم از شبیه سازی هایی که انجام می دیم در عمل استفاده کنیم عملا هیچ بهره ای نبردیم.
              فقط در همین حد اشاره شده بود که میشه به DLL تبدیل کرد و در #C استفاده کرد همین.

              دیدگاه


                #8
                پاسخ : تبدیل M-File به DLL

                مطمئنا سرعت پردازش رو پایین میاره. و هیچوقت نمیتونه به پای OpenCV برسه. الگوریتم های OpenCV دائما در حال بهینه سازی هستند. اما الگوریتمی که کامپایلر متلب تولید میکنه بر اساس یه روتین پیشفرض تبدیل M-File به C هستش. البته مشکل فقط این نیست

                دیدگاه


                  #9
                  پاسخ : تبدیل M-File به DLL

                  خیلی ممنون

                  برای پردازش تصویر در c#.net از چه کتابخانه ای استفاده شود بهتره (AForge یا openCV یا ... )؟

                  دیدگاه


                    #10
                    پاسخ : تبدیل M-File به DLL

                    دقیقا نمیدونم ولی برای این منظور کتابخانه های زیادی طراحی شده که بعضی ها از بیس تحت NET. هستند ولی OpenCV تحت C و ++C هستش که یه سری اومدن اون رو تحت NET. درآوردن. در کل چندان فرقی نمیکنه و خیلی از الگوریتم ها رو از روی OpenCV برمیدارند. شما اونی رو انتخاب کن که سمپل و انجمن و پشتیبانی بهتری داره. مثل OpenCV البته بعضی هاشون رایگان نیستند و نیاز به لایسنس دارند.
                    در نهایت از لحاظ سرعت بهترین محیط Intel I.P.P هستش که یه سری توابع هستش همراه با کلی مستندات البته تحت C و ++C و فقط روی کامپایلر ++C خود اینتل اجرا میشه که من تابحال کرکی براش ندیدم. این مجموعه از دستورات خاص پرادازنده های اینتل حداکثر استفاده رو میبره که بخاطر همین سرعت بالایی داره. البته مثل OpenCV کار باهاش راحت نیست و توابعی آماده برای Machine Vision نداره.
                    برای OpenCV یه کتاب تو آمازون هستش که لینک دانلودش رو بگردی میتونی جاهای دیگه پیدا کنی
                    من بیشتر از این اطلاع ندارم
                    موفق باشید

                    دیدگاه


                      #11
                      پاسخ : تبدیل M-File به DLL

                      البته OpenCV هم واسه اینتل هستش که یه زمانی ساپورتش میکرد اما دیگه خیلی وقته ساپورت نمیکنه ولی خب بیس OpenCV رو اینتل گذاشت.
                      ضمنا یادم رفت بگم یه کتابخونه هست به اسم Emgu CV که همون wrapper شده ی OpenCV تحت NET. هستش که اینم سایتشه : http://www.emgu.com
                      موفق باشید

                      دیدگاه


                        #12
                        پاسخ : تبدیل M-File به DLL

                        خیلی ممنون دوستان

                        AForge را نصب کردم و به نظر کتابخانه کاملی هست

                        و روی یک برنامه ساده اجرا کردم و سرعتش نسبت به مطلب فوق العاده بود

                        فقط مشکلی که این کتابخونه ها دارند help اشون مثل مطلب قوی نیست

                        اگر document قوی ای برای AForge دارین ممنون میشم.

                        دیدگاه

                        لطفا صبر کنید...
                        X