رنگ یاب ریل تایم
This presentation is the property of its rightful owner.
Sponsored Links
1 / 10

رنگ یاب ریل تایم PowerPoint PPT Presentation


  • 84 Views
  • Uploaded on
  • Presentation posted in: General

رنگ یاب ریل تایم. C# Webcam. پیش نیاز ها.

Download Presentation

رنگ یاب ریل تایم

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


6942049

رنگ یاب ریل تایم


6942049

  • C#

  • Webcam

پیش نیاز ها


6942049

  • اولین کاری که انجام میدهیم این است که وب کم را از طریق API به C# وصل کنیم. که این کار را کلاسی به نام Pinvokeانجام میدهد. ما فقط چند dll را در این کلاس فراخوانی می کنیم. مهمترین dll که در این سیستم استفاده شده است avicap32.dll که جهت اتصال به وب کم به کار میرود. برای دیدن نحوه کار با این DLLاینجا کلیک کنید.

نحوه کار


6942049

  • DLL دوم مربوط به تنظیمات انترفیس به نام user32 می باشد. همانطور که گفته شد ما از win32 Api استفاده کرده ایم. پس مجبوریم که پنجره ها و فلگ ها را به صورت Cross-Platform استفاده کنیم. برای دیدن آموزش استفاده به صورت Cross-Platformاینجا کلیک کنید.

نحوه کار


6942049

  • در انتها، پس از انجام تنظیمات API، کلاس را به یک DLL به نام Pinvoke تبدیل کرده و به عنوان Reference در برنامه های آتی استفاده می کنی.

نحوه کار


6942049

  • اکنون که DLL مورد نظرمان ساخته شد زمان ایجاد یک کلاس به نام CaptureDevice و فرم ویندوزی است. ارتباطات را از طریق CaptureDeviceبا فرم برقرار میکنیم. ارتباطاتی نظیر تعداد وب کم ها، و لود اولیه (initialize) سخت افزار.

پروژه اصلی


Capturedevice

  • این کلاس درهنگام ایجاد سه متغیر را مقدارددهی می کند که عبارتند از شماره وبکم، نام وبکم، و توضیحات مربوط به آن.

کلاس CaptureDevice


Capturedevice1

  • Attach(Control): جهت برقراری ارتباط و در انحصار گرفتن وب کماستفاده می کنیم. کنترلی را که میخواهیم وب کم را بدان وصل کنیم (مثل کنترل Panel یا PictureBox) به عنوان پارامتر می فرستیم.

  • Detach:جهت آزاد کردن وب کم.

  • Capture:عکس گرفتن از وبکم

  • GetDevices: برگرداندن لیست وب کم ها

فانکشن های کلاس CaptureDevice


6942049

  • در لود اولیه، لیست وب کم ها را از طریق یک حلقه و فانکشن GetDevices مربوط به کلاس CaptureDeviceاضافه می کنیم.

  • با زدن دکمه Start فانکشن Attach مربوط به کلاس CaptureDeviceفراخوانی کرده و کنترل PictureBox را بدان انتصاب می دهیم.

  • با دکمه Stop ارتباط با وبکم ها از طریق Detach قطع می شود.

  • با دکمه Snapshot یک تصویر از طریق فانکشن Capture گرفته و تصویر بازگشتی را در روت نرم افزار ذخیره می کنیم.

فرم


6942049

  • تا کنون توانستیم وبکم را در فرم نمایش دهیم. حال می خواهیم رنگ یک مربوط به وسط تصویر را نمایش دهیم. برای اینکار باید سرعت به روز رسانی تصاویر زا وب کم را کمی با تاخیر از سرعت واقعی نمایش دهیم.زیرا ترانسپرنت کردن نشانگر تشخیص رنگ نیاز به زمان دارد. برای به روزرسانی تصویر از پانل و تایمر استفاده میکنیم. زیرا در پانل می توانیم تصاویر ترانسپرنت استفاده کنیم. کنترل تایمر در باز زمانی خود رنگ را از تصاویر پنل برداشته و نمایش می دهد

تشخیص رنگ


  • Login