繁体   English   中英

JavaCV将3通道IplImage转换为4通道Iplmage

[英]JavaCV convert 3 channel IplImage to 4 channel Iplmage

我尝试了一些方法来从3通道IplImage创建新的4通道IplImage。我尝试将以下代码从C转换为JavaCV:

CvMat * src; // your source image
CvMat * dst // your destination image
CvMat * zeros = cvCreateMat(src->cols, src->rows, CV_8UC1);
cvSet(zeros, cvScalar(0, 0, 0, 0));
CvArr * input[] = { src, zeros };
int from_to[] = { 0,0, 1,1, 2,2, 3,3 };
cvMixChannels(input, 2, &dst, 1, from_to, 4);

这里取 ,我的转换是:

    CvMat src; 
    CvMat dst;
    CvMat zeros = cvCreateMat(src.cols(), src.rows(), CV_8UC1);
    cvSet(zeros, cvScalar(0, 0, 0, 0));
    CvArr input[] = { src, zeros };
    int from_to[] = { 0,0, 1,1, 2,2, 3,3 };
    cvMixChannels(input, 2, dst, 1, from_to, 4);

但是eclipse说,JavaCV混合通道方法是这样的:

 The method cvMixChannels(opencv_core.CvArr[], int, opencv_core.CvArr[], int, int[],int) in the type opencv_core is not applicable for the arguments opencv_core.CvArr[], int, opencv_core.CvMat, int, int[], int) 

谁能帮我?

谢谢

您的错误是您将CvMat作为第一个和第三个参数传递给cvMixChannels ,而您却希望传递CvMat[]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM