cpp为例
#include <opencv2/opencv.hpp>
#include <string>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
VideoCapture cap(0);
if (!cap.isOpened())
{
cout << "Could not open the input video " << endl;
return -1;
}
Mat frame;
string imgname;
int f = 1;
while (1)
{
cap >> frame;
if (frame.empty())
break;
imshow("Camera", frame);
static char key = waitKey(1);
if (key == 'q' || key == 'Q') // 退出运行
break;
if (key == 'k' || key == 'K') // 截取图片
{
cout << "frame:" << f << endl;
imgname = "snapPhotos/"+to_string(f++) + ".jpg";
imwrite(imgname, frame);
}
}
return 0;
}
第32行为相对路径,当前工作目录为根目录(指VS的工程根目录、vscode打开的文件夹目录)。
也可以使用绝对路径,如文章来源:https://www.toymoban.com/news/detail-516323.html
imgname = "d:/photos/1.jpg";
imwrite(imgname, frame);
注:imwrite()不会创建文件夹文章来源地址https://www.toymoban.com/news/detail-516323.html
如上相对路径的例子中,理想情况下图片会保存到snapPhotos文件夹内。但若不存在snapPhotos文件夹,则 不会做任何事(也不会输出任何报错信息)。若已存在此文件夹,则可以正常保存。该文件夹可通过其他方式创建(如手动鼠标或命令行创建,各大语言也都有文件相关操作库)
到了这里,关于opencv imwrite()保存指定路径的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!