ubuntu下qtcreator工程中利用opencv編寫工程,opencv庫操作,攝像頭第一次可以
正常使用,一旦點擊停止鍵後,無法第二次打開,再次運行時就會報錯。
libv4l2: error turning on stream: Invalid argument
cap 在析構函數中我有作釋放。請問這是什麼原因啊??
~~~~~~~~~~~~~~~~
VideoCapture cap;
cap.open(camId); // open the default camera
if(!cap.isOpened()) // check if we succeeded
{
return false;
}
cap.release();
圖片說明
我點擊上面的 x 可以關閉程序,切可以二次打開,並且僅析構執行。。但是如果我點擊stopping debug 就會出現我描述的無法二次打開,是不是這種強行關閉
無法進析構函數釋放資源啊。誰能幫忙解釋下或給點意見。。
主函數
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
//================kint==============
w.configure_file = argv[1];
w.camera_ID = atoi(argv[2]);
// w.init(argv[1], 1);
//================kint==============
w.show();
return a.exec();
}
析構函數
MainWindow::~MainWindow()
{
delete ui;
delete pCam_qr_estimation;
}
主要是qtcreator 的bug,點擊停止按鈕程序不會進入析構函數銷毀對象。用終端的方式可以進入析構。