OPENCV ERROR | резюме :: OutOfMemoryError

Привет я использую OpenCV для подготовки работы GLCM, но произошла ошибка.
Я использую Qt 5.4.2 MSVC 2013 — 32 бит

Запуск C: \ Workspace \ QtProjects \ build-iRov-Desktop_Qt_5_4_2_MSVC2013_64bit-Debug \ debug \ iRov.exe …

Ошибка OpenCV: недостаточно памяти (не удалось выделить 1012712448 байт) в cv :: OutOfMemoryError, файл C: \ builds \ master_PackSlave-win64-vc12-shared \ opencv \ modules \ core \ src \ alloc.cpp, строка 52
Ошибка OpenCV: сбой утверждения (u! = 0) в cv :: Mat :: create, файл C: \ builds \ master_PackSlave-win64-vc12-shared \ opencv \ modules \ core \ src \ matrix.cpp, строка 411

***** ВИДЕОВХОДНАЯ БИБЛИОТЕКА — 0.1995 — TFW07 *****

Это мой код:

#include <QApplication>
#include <QImage>
#include "opencv2/core.hpp"#include "opencv2/highgui.hpp"#include "opencv2/imgproc.hpp"#include "iostream"#include <string>

using namespace cv;

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//IRovForm w;
// w.showMaximized();

int intensidadeMaxima, intensidadeMinima = 0;
Mat img(50,50,CV_8UC1, Scalar::all(0));
for(int i = 0;i< img.rows;i++){
for(int j = 0;j< img.cols;j++){
if(i>10 && i < 30 && j > 10 && j < 30)
{
img.at<uchar>(i,j) = 255;
}

}
}
//resgata a intensidade de maior valor para criar a matriz de coocorrencia. Matriz quadrada
for(int i = 0;i< img.rows;i++){
for(int j = 0;j< img.cols;j++){
if(img.at<uchar>(i,j) > intensidadeMaxima)
intensidadeMaxima = img.at<uchar>(i,j);
}
}
Mat GLCM_0 = Mat::zeros(intensidadeMaxima,intensidadeMaxima, CV_8UC1);
Mat GLCM_45 = Mat::zeros(intensidadeMaxima,intensidadeMaxima, CV_8UC1);
Mat GLCM_90 = Mat::zeros(intensidadeMaxima,intensidadeMaxima, CV_8UC1);
Mat GLCM_135 = Mat::zeros(intensidadeMaxima,intensidadeMaxima, CV_8UC1);
imshow("teste",img);
return a.exec();
}

2

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]