我有一个小的应用程序,可以保存图像Using
。我遇到的问题是,我一直试图找到一种在匹配裁切后的图像后将其存储的方法。我成功提取了裁剪后的图像,但在同一文件夹中将其覆盖,而不是仅添加到该文件夹中。
如何保存图像而不覆盖它们?
请参见下面最重要的代码:
stereo.h
using cv::imwrite
stereo.cpp
public:
void cropMatches(int xa, int ya, int xb, int yb);
请说明如何解决此问题。
答案 0 :(得分:0)
instereo.h:
public:
void cropMatches(int xa, int ya, int xb, int yb);
private:
int counterA=0;
int counterB=0;
在stereo.cpp中
void StereoCal::cropMatches(int xa, int ya, int xb, int yb){
cv::Point ptA=cv::Point(xa, ya);
cv::Point ptB=cv::Point(xb, yb);
cv::Size sz;
sz.height=regionSize;
sz.width=regionSize;
cv::Mat regionA, regionB;
cv::getRectSubPix(currentImages.getA().get8Bitmap(),sz,ptA,regionA);
cv::getRectSubPix(currentImages.getB().get8Bitmap(),sz,ptB,regionB);
std::string path = "/home/path/to/folder/";
std::string outA = path+"cropA_"+std::to_string(counterA++)+".tiff";
std::string outB = path+"cropB_"+std::to_string(counterB++)+".tiff";
cv::imwrite(outA,regionA);
cv::imwrite(outB,regionB);
}