OpenCV — 图片、视频,摄像头基础操作
图片
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
Mat frame;
frame = imread("D:\\code\\cpp\\opencv\\show_pic\\timg.jpg");
if(frame.empty())
{
return -1;
}
imshow("1",frame);
waitKey(0);
return 0;
}
结果
视频
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
VideoCapture cap;
cap.open("D:\\code\\cpp\\opencv\\show_pic\\1.mp4");
int frame_width = (int)cap.get(CV_CAP_PROP_FRAME_WIDTH);
int frame_height = (int)cap.get(CV_CAP_PROP_FRAME_HEIGHT);
int fps = cap.get(CV_CAP_PROP_FPS);
int frame_size = cap.get(CV_CAP_PROP_FRAME_COUNT);
cout<<frame_width<<","<<frame_height<<endl;
cout<<fps<<","<<frame_size<<endl;
int i = 0;
while(1)
{
Mat frame;
cap >> frame;
i++;
imshow("1",frame);
if(i == frame_size-1)
{
cap.set( CV_CAP_PROP_POS_FRAMES,1);
i = 0;
}
if(waitKey(1) == 'q')
{
break;
}
}
return 0;
}
摄像头
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
VideoCapture cap;
cap.open(0);
while(1)
{
Mat frame;
cap >> frame;
imshow("1",frame);
if(waitKey(1)=='q')
{
break;
}
}
return 0;
}