分割故障OpenCV Linux C



i在Linux终端中编译了以下代码(Linux中的C ),并使用OpenCV 3.3服务器上的图片以未签名的char *的形式出现,我将其转换为cv :: mat如下:

Mat charToMat(unsigned char * bytes, int width, int height){
    return Mat(height, width, CV_8UC3, bytes);
}

然后,我尝试了两种从CV :: MAT到Iplimage *的方法,但是在每种情况下,都会发生分割故障。

1方法:

int * ft(Mat ft, int width, int height, int countA4) {
        sourceImg = cvCreateImage(cvSize(ft.cols, ft.rows), 8, 3);
        IplImage im = ft; 
        cvCopy(&im, sourceImg); // Segmentation Fault
}

2方式:

int * ft (Mat ft, int width, int height, int countA4) {
        IplImage im = ft;
        sourceImg = cvCloneImage(&im);// Segmentation Fault
}

如果有人知道解决方案吗?

我认为您将垫子转换为iPlimage是问题。

我会尝试这样的事情:

int * ft (Mat ft, int width, int height, int countA4) {
    IplImage* img = new IplImage(ft);
    sourceImg = cvCloneImage(im);

}

有关更多信息,请尝试使用此转换CV :: MAT到Iplimage*

相关内容

  • 没有找到相关文章