我在图1中准备了这个可验证的小型.ui,它复制了我遇到的问题:
我正在尝试使用QPushButton
“同时打印两个图像”将QGraphicsView
的左右图像逐步保存到桌面上的两个不同文件夹中,请参见图2:< / p>
我可以通过单击leftScene
或rightScene
的相关QPushButton
左打印屏幕和右打印屏幕来获取打印屏幕。
但是,在这种特定情况下,我尝试不使用QFileDialog
,因为当我使用向右/向左箭头继续前进时,需要将图像静默并增量地保存在两个不同的目标文件夹中。
请参见下面的代码片段:
mainwindow.h
public:
void bothPrintScreen(const std::string& pathImg);
private slots:
void on_bothPrintScreen_clicked(const std::string& imgPath);
private:
int counterA=0;
int counterB=0;
mainwindow.cpp
void MainWindow::on_bothPrintScreen_clicked(const std::string& imgPath)
{
bothPrintScreen(imgPath);
}
void MainWindow::bothPrintScreen(const std::string& pathImg){
cv::Mat left, right;
std::string outA = pathImg+"/printScreenA_"+std::to_string(counterA++)+".png";
cv::imwrite(outA,left);
std::string outB = pathImg+"/printScreenB_"+std::to_string(counterB++)+".png";
cv::imwrite(outB,right);
}
我在代码中丢失了一些内容,但是我不确定到底是什么。
编译器发现了我不理解的allocate()/deallocate()
错误:
请阐明此事。
答案 0 :(得分:1)
它需要将OpenCV库添加到您的Qt项目(like this)
INCLUDEPATH += -I/usr/local/include/opencv
LIBS += -L/usr/local/lib -lopencv_stitching -lopencv_superres ...and another libraries