Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有Qt函数cv::腐蚀()和cv::扩张()崩溃的OpenCV #包括 #包括 #包括 #包括 int main() { //读取输入图像 cv::Mat img=cv::imread(“D:\\extra\\Procesare de imagine\\altele\\images\\group.jpg”); 如果(!img.data) { qDebug(“无图像”); 返回0; } //显示图像 cv::namedWindow(“图像”); cv::imshow(“图像”,img); //侵蚀形象 cv::席状侵蚀; cv::腐蚀(img,腐蚀,cv::Mat()); cv::waitKey(); 返回0; }_Qt_Image Processing_Opencv - Fatal编程技术网

带有Qt函数cv::腐蚀()和cv::扩张()崩溃的OpenCV #包括 #包括 #包括 #包括 int main() { //读取输入图像 cv::Mat img=cv::imread(“D:\\extra\\Procesare de imagine\\altele\\images\\group.jpg”); 如果(!img.data) { qDebug(“无图像”); 返回0; } //显示图像 cv::namedWindow(“图像”); cv::imshow(“图像”,img); //侵蚀形象 cv::席状侵蚀; cv::腐蚀(img,腐蚀,cv::Mat()); cv::waitKey(); 返回0; }

带有Qt函数cv::腐蚀()和cv::扩张()崩溃的OpenCV #包括 #包括 #包括 #包括 int main() { //读取输入图像 cv::Mat img=cv::imread(“D:\\extra\\Procesare de imagine\\altele\\images\\group.jpg”); 如果(!img.data) { qDebug(“无图像”); 返回0; } //显示图像 cv::namedWindow(“图像”); cv::imshow(“图像”,img); //侵蚀形象 cv::席状侵蚀; cv::腐蚀(img,腐蚀,cv::Mat()); cv::waitKey(); 返回0; },qt,image-processing,opencv,Qt,Image Processing,Opencv,您好,我对opencv(在Qt中)函数腐蚀()和扩张()有以下问题。我使用msvc10编译器。我试图运行一个简单的代码,但在cv::腐蚀(img,腐蚀,cv::Mat())行,它崩溃了。我没有收到任何错误消息,只是一个“program.exe已停止工作”的对话框。我转到“调试程序”,得到调用堆栈tbb.dll([下面的帧可能不正确和/或缺失,没有为tbb.dll加载符号]: ).我提到,从一开始我就在调试模式下构建时遇到问题(imread在调试模式下不工作,只有cvLoadImage),函数cv

您好,我对opencv(在Qt中)函数腐蚀()和扩张()有以下问题。我使用msvc10编译器。我试图运行一个简单的代码,但在cv::腐蚀(img,腐蚀,cv::Mat())行,它崩溃了。我没有收到任何错误消息,只是一个“program.exe已停止工作”的对话框。我转到“调试程序”,得到调用堆栈tbb.dll([下面的帧可能不正确和/或缺失,没有为tbb.dll加载符号]: ).我提到,从一开始我就在调试模式下构建时遇到问题(imread在调试模式下不工作,只有cvLoadImage),函数cv::threshold()也会以同样的方式崩溃,代码非常简单。
我读到可以通过将tbb.pdb复制到tbb.dll旁边来解决这个问题,但它不起作用

只是为了补充Kamyar的评论:


如果在调试配置中编译,则可能还必须使用tbb调试版本,名为tbb_debug.dll。对于适用于Windows的OpenCV 2.4.1,可以在build\common\tbb下的OpenCV目录中找到它。

只是为了补充Kamyar的评论:


如果在调试配置中编译,则可能还必须使用tbb调试版本,名为tbb_debug.dll。对于Windows版OpenCV 2.4.1,可以在build\common\tbb下的OpenCV目录中找到它。

在我看来,您包含了错误的库文件。检查是否正在使用lib/dll文件的调试版本。我不确定Qt库文件,但区别主要是
opencv\u core230.lib
opencv\u core230d.lib
。后者是调试版本,如果使用发布版本,可能会使程序崩溃。在我的.pro文件中,我包含了两个版本的lib文件。但只有cv::imread()在调试中不起作用。cv::腐蚀()和cv::扩张()在调试模式和发布模式下都会崩溃。您可以检查其他事项,当您在调试模式下访问tbb.dll时,一定是出了问题,因为您应该使用tbb_debug.dll,请检查您的.pro文件中是否正确分隔了调试/发布库文件,如前所述。在我看来,您包含了错误的库文件。检查是否正在使用lib/dll文件的调试版本。我不确定Qt库文件,但区别主要是
opencv\u core230.lib
opencv\u core230d.lib
。后者是调试版本,如果使用发布版本,可能会使程序崩溃。在我的.pro文件中,我包含了两个版本的lib文件。但只有cv::imread()在调试中不起作用。cv::腐蚀()和cv::扩张()在调试模式和发布模式下都会崩溃。您可以检查其他事项,当您在调试模式下访问tbb.dll时,一定是出了问题,因为您应该使用tbb_debug.dll,请检查您的.pro文件中是否正确分隔了调试/发布库文件,如前所述,我将tbb_debug.dll放在tbb.dll旁边,得到了相同的结果。我只有在Qt中有这个问题,在visualstudio中,一切都很好。我把tbb_debug.dll放在tbb.dll旁边,得到了相同的结果。我只有在Qt中有这个问题,在visualstudio中,一切都很好。
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>

#include <QDebug>

int main()
{
    // Read input image
    cv::Mat img= cv::imread("D:\\extra\\Procesare de imagine\\altele\\images\\group.jpg");
    if (!img.data)
    {
        qDebug("no image");
        return 0;

    }

    // Display the image
    cv::namedWindow("Image");
    cv::imshow("Image",img);

    // Erode the image
    cv::Mat eroded;
    cv::erode(img,eroded,cv::Mat());


    cv::waitKey();
    return 0;
}