Opencv学习笔记(五)连续保存多张图片(用于标定等)

在做图像标定的时候有一件事情很烦,就是我需要连续拍多张图片,我们当然可以通过软件直接截取,但是原谅作为小白的我当时并没有找到这个软件(坑爹啊,后来别人给我了)。

于是就只能找找能不能通过程序去保存的。我的做法是,希望按一次 'c', 就能够保存一张图片,并且希望图片是按照1.jpg、2、jpg、3、jpf ......这样的保存的,这样在我标定的时候就不用慢慢的改啦

真的是找了好久,后来才知道,原来还有sprintf这个函数(尴尬,不过真的觉得好方便)

#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char *argv[])
{
    int d=8;
    char ad[300]={0};
    char name;
    //从电脑摄像头读入
    VideoCapture capture(0);
    Mat edges;
    waitKey(2000);
    //循环显示每一帧
    Mat frame;
    while(1)
    {
        capture>>frame;//读取当前帧
        imshow("读取视频",frame);


        int k=waitKey(30);//延时30ms
        if(k=='e'||cvGetWindowHandle("读取视频")==nullptr)
            break;
        else if(k=='c')
        {
           sprintf(ad, "C:\\Users\\fan\\Desktop\\%d.jpg", ++d);
           imwrite(ad, frame );
           cout<<"get "<<d<<"  picture "<<endl;
        }
    }
    return 0;
}

找好视野,多次按下'c' 键,就可以连续保存多张图片啦。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值