opencv将一张图片裁剪为很多张图片

    xiaoxiao2021-03-25  147

    最近正在做关于一个视觉相关的毕设,需要用到裁剪图像,用来进行训练,在网上找了一些博客,发现都没有现成的,所以就自己动手写了一个。具体的如下:

    #include<iostream>

    #include<opencv2\opencv.hpp> #include<string.h> #include <sstream>  using namespace std; using namespace cv; string int2str(int n)//int到str的转换函数,这个是参考的http://blog.csdn.net/chavo0/article/details/51038397 { ostringstream stream; stream << n;  //n为int类型 return stream.str(); } int main(int argc, char*argv[]) { IplImage*src = cvLoadImage("D:\\图像处理代码\\毕设\\测试\\测试\\t1.jpg",0); int i ,j; int t = 0; for (i=0; (i+1) * 100< src->width; i++) { for (j = 0; (j +1)* 100 < src->height; j++)//判断是否超出边界 { cvSetImageROI(src, cvRect(i*100, j*100, 100, 100));//这个地方需要注意一下,每次更新原点坐标 IplImage*dst = cvCreateImage(cvSize(100, 100), 8, 1); cvCopy(src, dst,0); cvResetImageROI(src); string ImageAddres = int2str(t)+".jpg"; cvSaveImage(ImageAddres.data(), dst); cvReleaseImage(&dst); t++; } } cvReleaseImage(&src); return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-14192.html

    最新回复(0)