在liunx系统下,如何用opencv调用摄像头显示画面,并在按下p键后将当前画面储存到指定的/home/20204367路径下,请进行程序编写并给出makefile文件
时间: 2023-05-29 11:01:25 浏览: 80
python+opencv打开摄像头,保存视频、拍照功能的实现方法
5星 · 资源好评率100%
以下是程序代码和Makefile文件
程序代码:
```
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
VideoCapture cap(0);
if (!cap.isOpened())
{
return -1;
}
Mat frame, gray;
int count = 0;
namedWindow("Camera", WINDOW_NORMAL);
moveWindow("Camera", 100, 100);
while (1)
{
cap >> frame;
if (frame.empty())
{
break;
}
imshow("Camera", frame);
int key = waitKey(1);
if (key == 'p' || key == 'P')
{
std::string filename = "/home/20204367/capture" + std::to_string(count) + ".jpg";
imwrite(filename, frame);
count++;
}
if (key == 27) // Esc key
{
break;
}
}
destroyAllWindows();
return 0;
}
```
Makefile文件:
```
CC = g++
CFLAGS = -Wall -O2 `pkg-config --cflags opencv`
LIBS = `pkg-config --libs opencv`
all:
$(CC) -o camera main.cpp $(CFLAGS) $(LIBS)
clean:
rm -f camera
```
使用make命令即可编译生成可执行文件camera,使用./camera命令即可执行程序。按下P键可以将当前画面储存到指定路径下,按下Esc键退出程序。
阅读全文