سلام از کتابخانه های emgu و opencv برای نمایش تصویر از دوربین در برنامه استفاده کردم
دوربین من 5 مگاپیکسل هست
سرعت نرم افزار با این دوربین بسیار پایین میاد
ولی با دوربین های 2 مگاپیکسل یا پایین تر مشکل نداره
لطفا راهنمایی کنید
ممنون
سلام از کتابخانه های emgu و opencv برای نمایش تصویر از دوربین در برنامه استفاده کردم
دوربین من 5 مگاپیکسل هست
سرعت نرم افزار با این دوربین بسیار پایین میاد
ولی با دوربین های 2 مگاپیکسل یا پایین تر مشکل نداره
لطفا راهنمایی کنید
ممنون
اندازه تصویر باعث کندی الگوریتم شما شده. اگر با C++ و خود OpenCV کار کنید در حالت کلی باید سرعت افزایش پیدا کنه اما بیشتر مربوط به الگوریتم شما است. یه راه دیگه موازی سازی الگوریتم می تونه باشه به شکلی که پردازش رو روی هسته های مختلف قرار بدید که تا اونجا که می دونم دات نت 4.5 ساپورت میکنه در غیر اینصورت کی تونید از C++ استفاده کنید که فول ساپورت و تظمینی هست. بعضی وقتی مولتی تردینگ هم می تونه جواب بده اما خب تظمین شده نیست.
با سی شارپ کار میکنم (میدونم که بهتر بود با C++ کار میشد ولی دیگه پروژه شروع شد و از نو نوشتنش فعلا امکان پذیر نیست)
من اندازه تصویر رو به اندازه picturebox صفحه میکنم
من از چند ترد در برنامه استفاده میکنم که یکی از اونها برا همین خوندن از وب کم هست
من فعلا اصلا با قسمت پردازش تصویر پروژه کار ندارم
حتی اگه کدهای مریوط به پردازش تصویر رو بردارم این مشکل سرعت پایین وجود داره (مثلا یه چیز در محیط حرکت میکنه و با تاخیر قابل توجهی در برنامه نمایش داده میشه؛ مثل اینکه فیلم از واقعیت عقب تره)
ممنون میشم راهنمایی کنید
1. از خود OpenCV برای گرفتن تصویر وب کم استفاده می کنید و یا اینکه از DirectShow و یا کتابخونه های مرتبط به اون؟ من تا اونجا که یادم میاد کار با کتابخونه های دایرکت شو و ... این مشکل رو داشتن.حتی اگه کدهای مریوط به پردازش تصویر رو بردارم این مشکل سرعت پایین وجود داره (مثلا یه چیز در محیط حرکت میکنه و با تاخیر قابل توجهی در برنامه نمایش داده میشه؛ مثل اینکه فیلم از واقعیت عقب تره)
2. اندازه تصویر رو باید قبل از به روز کردن picturebox تغییر بدید. و البته بهتر توی تنظیمات وب کم باشه.
این قضیه می تونه از وب کم هم باشه. برخی از وب کم های بی کیفیت اینجورین. بهتره وب کم خودتون رو با به برنامه دیگه هم تست کنید.
سلام شما باید تعداد فریم ها رو بیاری پایین هرچند در اینگونه موارد باید زمان پردازش هر فریم رو محاسبه کن واگه بیشتر از زمان اومدن نصف فریم های دیگه هستش باید تو الگوریتم خودت تعداد فریم ها رو کم کنی که رم کمتری مصرف بشه - و اگه برنامه شما بر روی پردازش گر اینتل هستش بهترین گزینه استفاده از OPen-cv هستش
به گزینه دیگه ای فکر نکن