opencv cv :: imshow访问冲突错误

时间:2014-09-22 17:26:25

标签: c++ opencv

我是使用OpenCV的新手。我试图将双重类型矩阵转换为图像,就像在MATLAB中使用imagesc函数一样。我知道我们可以使用imshow来做到这一点。但它显示了“访问违规行为”#39;我尝试使用大小为600 * 900的矩阵时出错。我在Windows 8上使用Visual Studio 2010和OpenCV 2.4.5。

#include <stdio.h>
#include "device_launch_parameters.h"
#include "cuda_runtime_api.h"
#include <stdlib.h>
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/gpu/gpu.hpp"
#include <iostream>

int main()
{
    int iter1;
    float *A;
    A=(float*)malloc(sizeof(float) * 50 * 50);
    for(iter1=0; iter1<(50 * 50); iter1++)
    {
        A[iter1] = iter1;
    }
    cv::Mat test(50, 50, CV_32F, &A);
    cv::imshow("test", test);
    cv::waitKey();
    cudaDeviceReset();
    return 0;
}

以上是我用于生成50 * 50矩阵图像的代码,该图像工作正常。如果您发现更大矩阵的问题,或者如果您有任何示例代码,请告诉我。

0 个答案:

没有答案