1. 图片读图、显示、另存为
int OperateLocalImg()
{
Mat img = imread("tiebaoer.jpg", 0); // 参数0表示读单通道图像,灰度图
// img = imread("tiebaoer.jpg")
imshow("读图显示", img);
imwrite("./tbe.jpg", img); // 另存为
waitKey(2000);
return 1;
}
2. 读视频、显示
int PlayLocalVideo()
{
Mat frameImg;
// C/C++ OpenCV读取视频与调用摄像头
// 实例化再初始化
VideoCapture capture;
capture.open("qishou.mp4");
// 实例化的同时进行初始化
// VideoCapture capture("qishou.mp4");
if (!capture.isOpened())
{
return 0;
}
// 获取视频的总帧数
/* long totalFrameNumber = capture.get(CAP_PROP_FRAME_COUNT);
std::cout << "*********" <<totalFrameNumber << "*************" <<std::endl; */
// 播放视频:
while (true)
{
// 循环读取帧图像
// capture >> frameImg;
if (capture.read(frameImg))
{
imshow("读取视频帧", frameImg);
waitKey(30);
}
else
break;
}
capture.release();
return 1;
}
3. 从摄像头取视频流、显示、保存
int GetCameraStream()
{
Mat frameImg;
VideoCapture cap(0); // 参数0,表示从摄像头获取数据
if (!cap.isOpened())
{
std::cerr << "ERROR! Unable to open camera\n";
return -1;
}