从视频(或摄像头)采集图像,并转化为灰度图显示

  • Post author:
  • Post category:其他


/****************************************************

程序名:capture.cpp      

说  明:从视频(或摄像头)采集图像,并转化为灰度图显示

*****************************************************/

#include <opencv2/opencv.hpp>

#include <iostream>

using namespace cv;

using namespace std;

 

int main(int argc, char** argv)

{

       //声明VideoCapture对象

       //VideoCapture cap(0);    //打开摄像头

       VideoCapturecap("sea.avi"); //打开视频

 

       //设置摄像头

       cap.set(CV_CAP_PROP_FRAME_WIDTH, 640);

       cap.set(CV_CAP_PROP_FRAME_HEIGHT, 480 );

 

       //确认是否成功打开摄像头

       if(!cap.isOpened())

       {

              cout<<"打开摄像头失败,退出";

              system("pause");

              return -1;

       }

       namedWindow("input"); 

       moveWindow("input",100,100);

       namedWindow( "gray");

       moveWindow("gray",740,100);

 

       Mat frame;

       while(cap.read(frame)!=NULL)//读取图像帧

       {

              imshow("input",frame);

              //各种处理

              cvtColor(frame, frame,CV_BGR2GRAY);

              imshow("gray",frame);

              if( waitKey(30)==27)//按Escape键可中断循环(焦点在cmd窗口时)

                     break;

       }

       //system("pause"); 

       waitKey();

       return 0;

}



版权声明:本文为blame1原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。