PDA

View Full Version : شناساندن دوربين در c++



mazcom
پنج شنبه 23 خرداد 1392, 13:28 عصر
سلام خدمت اساتيد محترم

اقا فرض كنيد من ميخوام يه وب كم رو با استفاده از برنامه c++ روي يه ربات بذارم طوري كه جاي پردازش تصوير دوربين داشته باشم
ايا يه همچين راهي وجود داره

#target
پنج شنبه 23 خرداد 1392, 20:54 عصر
در ویندوز باید با چیزی مثل capture windows اونو نمایش بدین
http://msdn.microsoft.com/en-us/library/windows/desktop/dd757677(v=vs.85).aspx

مصطفی ساتکی
پنج شنبه 23 خرداد 1392, 21:14 عصر
سلام خدمت اساتيد محترم

اقا فرض كنيد من ميخوام يه وب كم رو با استفاده از برنامه c++ روي يه ربات بذارم طوري كه جاي پردازش تصوير دوربين داشته باشم
ايا يه همچين راهي وجود داره
بله .با کتابخانه OpenCV روی همه پلتفرم ها می تونید از دوربین استفاده کنید.
به صورت زیر :

CvCapture *capture = cvCreateCameraCapture(0);
if (capture)
{
int ch;
do
{
IplImage *frame = cvQueryFrame(capture);
if (!frame)
break;
cvShowImage("camera 0",frame);
ch = cvWaitKey(20);
cvReleaseImage(&frame);
}while (ch != 27)
}
if (capture)
cvReleaseCapture(&capture);

mazcom
جمعه 24 خرداد 1392, 10:06 صبح
بله .با کتابخانه OpenCV روی همه پلتفرم ها می تونید از دوربین استفاده کنید.
به صورت زیر :

CvCapture *capture = cvCreateCameraCapture(0);
if (capture)
{
int ch;
do
{
IplImage *frame = cvQueryFrame(capture);
if (!frame)
break;
cvShowImage("camera 0",frame);
ch = cvWaitKey(20);
cvReleaseImage(&frame);
}while (ch != 27)
}
if (capture)
cvReleaseCapture(&capture);


اگه امكانش هست يه مقدار بيشتر توضيح بدين لطفا

مصطفی ساتکی
جمعه 24 خرداد 1392, 12:15 عصر
شما روی ARM هم می تونید کتابخانه OpenCV رو نصب کنید. کدی را هم قرار دادم از دوربین 0 یک capture می سازه و پس از آن با تایع cvQueryFrame به صورت متوالی از دوربین فریم می گیره و از طریق اشاره گر frame می تونید بهش دسترسی داشته باشید تابع cvShowImage هم یک Iplimage را برای شما نمایش میده و cvWaitKey هم وقفه ایجاد میکنه و هم کد کلیدی را که کاریر روی پنجره فشرده باشه را بر می گردونه و زمانی که کاربر کلید esc رو فشار بده از حلقه خارج میشه.

موفق باشید.