OpenCV学习笔记启动摄像头

OpenCV启动摄像头的资料

#include <opencv2/highgui/highgui.hpp>  
02.#include <opencv2/imgproc/imgproc.hpp>  
03.#include <opencv2/core/core.hpp>  
04.  
05.using namespace cv;  
06.  
07.  
08.int main()  
09.{  
10.    VideoCapture cap(0);  
11.    if(!cap.isOpened())  
12.    {  
13.        return -1;  
14.    }  
15.    Mat frame;  
16.    Mat edges;  
17.  
18.    bool stop = false;  
19.    while(!stop)  
20.    {  
21.        cap>>frame;  
22.        cvtColor(frame, edges, CV_BGR2GRAY);  
23.        GaussianBlur(edges, edges, Size(7,7), 1.5, 1.5);  
24.        Canny(edges, edges, 0, 30, 3);  
25.        imshow("当前视频",edges);  
26.        if(waitKey(30) >=0)  
27.            stop = true;  
28.    }  
29.    return 0;  
30.}  



2.000

     Mat myFrame;
CvCapture* myCap = cvCaptureFromCAM(0);//从对摄像头的初始化捕获
    if(!cvQueryFrame(myCap)) 
		cout<<"Video capture failed, please check the camera."<<endl;
    else 
		cout<<"Video camera capture status: OK"<<endl;
	 int width=cvSetCaptureProperty(myCap, CV_CAP_PROP_FRAME_WIDTH, 640); 
     int height= cvSetCaptureProperty(myCap, CV_CAP_PROP_FRAME_HEIGHT, 480); 

	 for(;;) {
		myFrame = cvQueryFrame(myCap);//frame 指向camera入帧
		if(myFrame.empty())
			break;
		imshow("Video", myFrame);
		
		if(cvWaitKey(100)>=0)
			break;
}



3.

CvCapture*capture=0;
	 IplImage*frame,*frame_copy=0;
	 IplImage*image =0;
	//plImage*imageData=0;
	 int i=0;
	 int j =0;
	 int k =0;
	storage = cvCreateMemStorage(0); // 创建内存存储器   
    capture = cvCaptureFromCAM(0); // 创建视频读取结构 
    cvNamedWindow( "result", 1 );
    if( capture ) // 如过是视频或摄像头采集图像,则循环处理每一帧 
    {
        for(;;)
        {
            if( !cvGrabFrame( capture ))
                break;
            frame = cvRetrieveFrame( capture );
            if( !frame )
                break;
            if( !frame_copy )
                frame_copy = cvCreateImage( cvSize(640,480),IPL_DEPTH_8U, frame->nChannels );
		  	      int height =frame_copy->height;
				  int width =frame_copy->width;
			    int step = frame_copy->widthStep/sizeof(uchar);
                 int channels = frame_copy-> nChannels;
				 uchar* data = (uchar *)frame_copy->imageData;

f( frame->origin == IPL_ORIGIN_TL )
                cvCopy( frame, frame_copy, 0 );
            else
                cvFlip( frame, frame_copy, 0 );



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值