控制台应用程序的Opencv

#include
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/opencv.hpp"
using namespace cv;


void main()
{
//打开并显示原图
//Mat srcImg = imread("C:\\aircraft_icon\\hs.png");
//imshow("原图", srcImg);


//腐蚀图像
//Mat element = getStructuringElement(MORPH_RECT, Size(15, 15));
//Mat dstImg;
//erode(srcImg, dstImg, element);
//imshow("效果图 ", dstImg);


//模糊图像
//Mat dstImg;
//blur(srcImg, dstImg, Size(5, 5));
//imshow("效果图 ", dstImg);


//边缘检测
//Mat dstImg, grayImg;
//cvtColor(srcImg, grayImg, CV_BGR2GRAY);
//blur(grayImg, dstImg, Size(5, 5));
//Canny(dstImg, dstImg, 3, 9, 3);
//imshow("效果图 ", dstImg);


// 等待6000 ms后窗口自动关闭  
//waitKey(0);


//视频循环播放
//VideoCapture capture("C:\\Users\\leo\\Videos\\2.mp4");
//while (1)
//{
// Mat frame;
// capture >> frame;


// if (frame.empty())
// {
// capture.release();
// capture.open("C:\\Users\\leo\\Videos\\2.mp4");
// continue;
// }
// imshow("播放视频", frame);
// if (27 == waitKey(30))
// {
// break;
// }
//}


//摄像头显示保存 截图保存
VideoCapture capture(0);
if (!capture.isOpened())
{
return;
}
int wide = (int)capture.get(CV_CAP_PROP_FRAME_WIDTH);
int height = (int)capture.get(CV_CAP_PROP_FRAME_HEIGHT);
VideoWriter videoWrite("D:\\video.avi", CV_FOURCC('M', 'J', 'P', 'G'), 25, Size(wide, height));
while (1)
{
Mat frame;
capture >> frame;
imshow("摄像头", frame);
if (0x0D == waitKey(10))
{
imwrite("D:\\1.jpg", frame);
}
videoWrite << frame;
if (27 == waitKey(10))
{
break;
}
}


//摄像头高斯模糊
//VideoCapture capture(0);
//Mat edges;
//while (1)
//{
// Mat frame;
// capture >> frame;
// //cvtColor(frame, edges, COLOR_BGR2GRAY);
// cvtColor(frame, edges, CV_BGR2GRAY);
// blur(edges, edges, Size(7, 7));
// Canny(edges, edges, 0, 30, 3);
// imshow("高斯模糊摄像头", edges);
// if (27 == waitKey(30))
// {
// break;
// }
//}


}

你可能感兴趣的:(vc++技术类,opencv,c++)