2014年6月29日日曜日
ラズベリーパイ+opencvでUSBカメラ接続(3)- 2台のカメラを接続
会社で使いたいネタがあって、ラズパイ1台で複数のカメラを表示させた場合にきちんと動くのかを検証した。まずは2台でトライ。
使用デバイス
・USBハブ(ELECOM U2H-EG3SBK)
・USBカメラ1 USBなんでもマイクロスコープ
・USBカメラ2 BUFFALO SW20K04H
ソースは単純に1台のカメラ表示用のプログラムで必要な個所を2列しただけ。。
---------------------------------------------------------------------------------------
#include<stdio.h>
#include<highgui.h>
int main(){
CvCapture *videoCapture1=cvCreateCameraCapture(0);
CvCapture *videoCapture2=cvCreateCameraCapture(1);
if(videoCapture1==NULL)
return -1;
char windowName1[]="camera1";
char windowName2[]="camera2";
cvNamedWindow(windowName1,CV_WINDOW_AUTOSIZE);
cvNamedWindow(windowName2,CV_WINDOW_AUTOSIZE);
while(cvWaitKey(1)==-1){
IplImage *image1=cvQueryFrame(videoCapture1);
IplImage *image2=cvQueryFrame(videoCapture2);
cvShowImage(windowName1,image1);
cvShowImage(windowName2,image2);
}
cvReleaseCapture(&videoCapture1);
cvReleaseCapture(&videoCapture2);
cvDestroyWindow(windowName1);
cvDestroyWindow(windowName2);
return 0;
}
-----Makefile----------------------------------------------------------------------------------
CXX = g++
LDFLAGS = -lopencv_legacy -lopencv_highgui -lopencv_core -lopencv_ml -lopencv_video -lopencv_imgproc -lopencv_calib3d -lopencv_objdetect -L/usr/lib
CPPFLAGS = -O3 -I/usr/include/opencv -I/usr/include/opencv2
all : camera3
---------------------------------------------------------------------------------------
一応動作はするが、さすがにカメラの表示速度が遅い。
ここが改善できるのか。。。う~ん。
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿