arDetectMarker+;像素格式+;分段故障

arDetectMarker+;像素格式+;分段故障,c,C,我试图使用arToolKit中的arDetectMarker函数来检测图像中的标记。我通过以下方式从磁盘读取图像: cv::Mat image; cv::Mat temp; image = cv::imread(path, CV_LOAD_IMAGE_COLOR); cv::cvtColor(image, temp, CV_RGB2BGR); 并使用以下格式转换为ARUint8*格式: dataPtr = (ARUint8 *) ((IplImage) temp).imageData; 我确

我试图使用arToolKit中的arDetectMarker函数来检测图像中的标记。我通过以下方式从磁盘读取图像:

cv::Mat image;
cv::Mat temp;
image = cv::imread(path, CV_LOAD_IMAGE_COLOR);
cv::cvtColor(image, temp, CV_RGB2BGR);
并使用以下格式转换为ARUint8*格式:

dataPtr = (ARUint8 *) ((IplImage) temp).imageData;
我确信数据已正确转换为dataPtr,因为我保存了要检查的图像。不幸的是,当我调用arDetectMarker时,出现了“分段错误”,我不知道原因(我认为这是由于像素格式)。我在文档中读到:

它说格式一般是ABGR。但我使用的是Ubuntu14.04,我认为我有v4l驱动程序,尽管我不确定,因为我不使用视频。我试图将加载的图像转换为ABGR或BGRA,但我不确定是否正确,或者这是否真的是一项要求

另外,我以前也做过校准程序

有人能帮我吗

谢谢

马塞洛