Capture Video In C#.Net

19 11 2008

با سلام خدمت دوستان خوبم امروز می خوام یک سری کد و یک نمونه برنامه براتون بزارم تا با نحوه دریافت تصاویر از webcam و ذخیره تصاویر دریافتی در فایل avi آشنا بشین. بدون بحث اضافی می رم تا توضیح مختصری در مورد کد های برنامه براتون بدم. در این پروژه ما سه تا کلاس اساسی داریم که به قول معروف، تقریبا کارهای تصویر برداری و ضبط تصاویر رو بر عهده دارن.

1- کلاس CaptureAPI : نمونه pinvoke شده API های کار با دوربین

2- کلاس AVIStreamAPI : نمونه pinvoke شده API های کار با فایل های avi از قبیل ساخت فایل، ساخت استریم avi، ساختن header های فایل avi و …

3- کلاس AviStream : که وظیفه ساخت فایل و ضبط تصاویر رو با استفاده از api های pinvoke شده رو بر عهده داره.

در این پروژه پس از اتصال به webcam با استفاده از توابع کلاس CaptureAPI و پخش تصاویر با استفاده از event OnVideoCaptured هر frame به bitmap تبدیل شده و سپس بر روی pictureboxنمایش داده میشه. با استفاده از این روش و تبدیل frame های استخراج شده به bitmap نوبت میرسه به ساخت فایل avi و stream مربوط به فایل avi با استفاده از توابع کلاس AviStream، ابتدا فایل avi Initialize شده سپس با استفاده از flage Create فایل avi خام بدون هیچگونه data و header ی که در ساخت avi به کار میره، ساخته میشه . پس از مراحل ساخت فایل نوبت به initalize کردن stream فایل avi میرسه، پس از ساخت stream ، اولین frame که به صورت bitmap هستش به stream اضافه میشه و به همین ترتیب frame های بعدی تا زمان توقف تصویربرداری و بستن فایل avi . شما به راحتی میتونید با استفاده از این روش با دوربین یا webcam ی که در منزل دارید برنامه ای بنویسید که دوربین رو شناسایی کرده اطلاعات رو frame به frame بگیره و ضبط کنه.

نمونه ی برنامه رو می تونید از لینک پایین دانلودش کنید. 🙂 امیدوارم تونسته باشم کمکی در یادگیری کار با دوربین و ضبط تصاویر کرده باشم.

لینک دریافت نمونه پروژه :http://www.megaupload.com/?d=2SJM7J40

Advertisements

کارها

Information

4 responses

20 03 2009
محمد

سلام .
ممنون ، نمونه کار خوبی بود ، به دردم خورد

26 07 2009
یوسف

سلام
آقا لینک شما فیلتر است لطفا یک لینک دیگه برام میل کنید
با تشکر

18 12 2009
علی

سلام مهندس جان,
ممنون بابت این پست. آقا من یک سوال دارم. ممنون می شم اگه جواب بدید:

یه دوربین هست که کارش تو گاوداری تصویر برداری از گاوهاست. ولی متاسفانه نمی تونه ذخیره کنه. با این برنامه ای که شما نوشتید میشه این تصاویر رو به صورت فریم درآورد بعد ذخیره کرد؟
با تشکر

7 06 2010
codeprojects

مهندس جان معمولا این دوربین ها با پروتکل های SNMP , RTSP کار می کنند.

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s




%d وب‌نوشت‌نویس این را دوست دارند: