Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.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
如何使用mcc,通过C&x2B+;jpg图像缓冲到MATLAB,并从MATLAB接收裁剪后的图像 我在Linux上使用MCC,构建了一个使用MATLAB进行计算和图像处理的C++应用程序。C++应用程序调用MATLAB函数,需要将JPEG图像缓冲区_C++_Image_Matlab_Jpeg_Mcc - Fatal编程技术网

如何使用mcc,通过C&x2B+;jpg图像缓冲到MATLAB,并从MATLAB接收裁剪后的图像 我在Linux上使用MCC,构建了一个使用MATLAB进行计算和图像处理的C++应用程序。C++应用程序调用MATLAB函数,需要将JPEG图像缓冲区

如何使用mcc,通过C&x2B+;jpg图像缓冲到MATLAB,并从MATLAB接收裁剪后的图像 我在Linux上使用MCC,构建了一个使用MATLAB进行计算和图像处理的C++应用程序。C++应用程序调用MATLAB函数,需要将JPEG图像缓冲区,c++,image,matlab,jpeg,mcc,C++,Image,Matlab,Jpeg,Mcc,如何使用mcc,通过C&x2B+;jpg图像缓冲到MATLAB,并从MATLAB接收裁剪后的图像 我在Linux上使用MCC,构建了一个使用MATLAB进行计算和图像处理的C++应用程序。C++应用程序调用MATLAB函数,需要将JPEG图像缓冲区作为参数传递给MATLAB。我尝试了使用双精度、无符号字符等多种组合,但未能成功地将图像作为参数传递。请参阅下面的测试代码,并让我知道需要更正的内容:(我正在使用ImageMagick库读取图像) Blob blob1; Image i

如何使用mcc,通过C&x2B+;jpg图像缓冲到MATLAB,并从MATLAB接收裁剪后的图像 我在Linux上使用MCC,构建了一个使用MATLAB进行计算和图像处理的C++应用程序。C++应用程序调用MATLAB函数,需要将JPEG图像缓冲区作为参数传递给MATLAB。我尝试了使用双精度、无符号字符等多种组合,但未能成功地将图像作为参数传递。请参阅下面的测试代码,并让我知道需要更正的内容:(我正在使用ImageMagick库读取图像)

    Blob blob1;
Image img;
img.read("test.jpg");
img.write(&blob1);
BlobBuffer buf;
buf.buffer = (void*)blob1.data();
buf.len = blob1.length();

    mwArray ret;
    double data[] = {200};
    double data1[] = {300};
    double data2[] = {10};
    double data3[] = {10};
double d1[] = {1};

mwArray imgbuf(1, buf.len, mxUINT8_CLASS, mxREAL);
 unsigned char d[buf.len];
for (int i=0; i<buf.len; i++) {
    unsigned char *dptr = (unsigned char *)buf.buffer + (i);
     d[i++] = *dptr;            
}

imgbuf.SetData(d, buf.len);
    mwArray in(1, 1, mxDOUBLE_CLASS, mxREAL);
    mwArray in1(1, 1, mxDOUBLE_CLASS, mxREAL);
    mwArray in2(1, 1, mxDOUBLE_CLASS, mxREAL);
    mwArray in3(1, 1, mxDOUBLE_CLASS, mxREAL);
    in.SetData(data, 1);
    in1.SetData(data1, 1);
    in2.SetData(data2, 1);
    in3.SetData(data3, 1);

    // create output array, and call library functions
    crop_img(1, ret, imgbuf, in, in1, in2, in3);
    cout << "cropped img:\n" << ret << endl;
 function img = crop_image(imgbuf, x, y, w, h)
    a = [ x y w h ];

    I = imgbuf;

    img = imcrop(I,a);

    imshow(img);
end