#include <opencv2/core/core.hpp>
#include "opencv2/opencv.hpp"
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
#include <opencv2/imgproc/imgproc.hpp>
#include <vector>
using namespace std;
using namespace cv;
void main()
{ //设置分割后图像存储路径
string outpath = "F:\\data\\";
Mat img = imread("digits.png"); //将图像放在项目工程里,使用imread函数读取
int t = 0;
int m = img.cols /20; //m*n是切割后子图像的个数
int n = img.rows /20;
Vector<Mat> ceil_img; //迭代器ceil_img存储子图像
Vector<int> name; //迭代器name存储子图像的名字,从0到m*n-1
for (t; t < m*n; t++)
name.push_back(t);
Mat image_cut, roi_img, tim_img;
for (int j = 0; j <n; j++)
{
for (int i = 0; i < m; i++)
{
Rect rect(i * 20, j * 20, 20, 20);
image_cut = Mat(img, rect);
roi_img = image_cut.clone();
ceil_img.push_back(roi_img);
}
}
for (int t=0; t < m*n;t++)
imwrite(outpath + to_string(long long((name[t])))+".png", ceil_img[t]);
}