C++ 简单OpenCV程序崩溃
我现在有个问题。我遵循本书“OpenCV 2计算机视觉应用程序编程烹饪书”中的说明,使用Ubuntu 14.04中的QtCreator Qt(5.4)在OpenCV(2.4.10-1)中创建一个简单的图像显示程序 代码如下:C++ 简单OpenCV程序崩溃,c++,qt,opencv,C++,Qt,Opencv,我现在有个问题。我遵循本书“OpenCV 2计算机视觉应用程序编程烹饪书”中的说明,使用Ubuntu 14.04中的QtCreator Qt(5.4)在OpenCV(2.4.10-1)中创建一个简单的图像显示程序 代码如下: #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <iostream> int main() { // read a
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
int main() {
// read an image
cv::Mat image = cv::imread("${PATH_TO_HOME}/Pictures/bottle_label.jpg");
if ( image.data == NULL ) {
std::cout << "no data loaded" << std::endl;
return -1;
}
else {
// create image window named "My image"
cv::namedWindow("My Image", 1);
// show the image on window
std::cout << "Image loaded" << std::endl;
cv::imshow("My Image", image);
// wait key for 5000 ms
cv::waitKey(5000);
return 0;
} }
代码可以编译,但当我运行它时,程序立即崩溃。调试器指向第17行出现的SIGSEGV:cv::namedWindow(“我的图像”,1)我不知道该怎么办。我有其他程序在同一台计算机上使用qt和opencv库,但使用cmake(qt4宏)构建它们,它们运行良好。
我还使用CMake和CMakeList.txt文件中的新qt5宏编写了另一个类似的测试程序。
该程序有一个带有两个按钮的主窗口:第一个按钮打开从FileOpenDialog中选择的图像,第二个按钮翻转图像。应使用cv::imshow()函数显示这两个图像。程序再次编译,当我运行它时,它立即崩溃。调试器不指向代码中的特定行。
控制台中的输出为:
*** Error in `${PATH_TO_EXEC_FILE}/myGUIApp': realloc(): invalid pointer: 0x00007ffff6d840e0 ***
上述代码提供了相同的控制台输出。有人能指出问题出在哪里吗
先谢谢你
*** Error in `${PATH_TO_EXEC_FILE}/myGUIApp': realloc(): invalid pointer: 0x00007ffff6d840e0 ***