Qt与OpenCV:程序意外完成
我刚刚安装了Qt5.15,正在测试它如何与opencv一起工作。我下载了预构建Opencv4.3,并设置了一个.pri文件,以便在Qt中部署 include和libs在.pri文件中如下所示: 然后我运行一个简单的图像显示domo:Qt与OpenCV:程序意外完成,qt,opencv,Qt,Opencv,我刚刚安装了Qt5.15,正在测试它如何与opencv一起工作。我下载了预构建Opencv4.3,并设置了一个.pri文件,以便在Qt中部署 include和libs在.pri文件中如下所示: 然后我运行一个简单的图像显示domo: #include "opencv2/opencv.hpp" using namespace cv; Mat img = imread("image.png"); if(img.empty()) { qDebug()<<"Could not f
#include "opencv2/opencv.hpp"
using namespace cv;
Mat img = imread("image.png");
if(img.empty())
{
qDebug()<<"Could not find the image";
}
else
{
namedWindow("Image");
imshow("Image", img);
}
结果错误消息:程序意外完成。这一进程被迫结束
没有与OpenCV链接,Qt本身就可以正常工作
问题的原因是什么?我发现这个问题是由于Qt Creator中设置的调试器不正确造成的。请参阅帖子。还有,官方文件和不清楚示例代码的位置。主要是吗? 通常,在OpenCV中,您也有一个事件循环,就像在Qt中一样,但它是隐藏的。 所以如果你真的想看到这个名字,你需要打电话 如果您定期这样做,可以像cv::waitKey1那样调用它 但一般来说,您应该只在OpenCV中进行图像处理,将cv::Mat转换为QImage,并在Qt中显示该图像。对于崩溃 我的第一个猜测是您的环境变量设置不正确。请检查您是否分配了环境。变量正确 在Qt中编写imshow是行不通的。正如tr3w所建议的,您应该转换为qimage Mat-img QImage img1=QImageuchar*img.data,img.cols,img.rows,img.step,QImage::Format_Indexed8
您可以替换为支持的图像格式,而不是indexed8。您可以指定代码的位置吗?您是否尝试过使用gdb之类的调试器来识别问题发生的线路?您有一种独特的回答方式。这使得你很容易发现你在多个问题上发布了相同的答案。请不要那样做。
#include "opencv2/opencv.hpp"
using namespace cv;
Mat img = imread("image.png");
if(img.empty())
{
qDebug()<<"Could not find the image";
}
else
{
namedWindow("Image");
imshow("Image", img);
}