IplImage *img;
img = (IplImage **)malloc(IMAGE_NUM * sizeof(IplImage *));
for(index=0; index<IMAGE_NUM; index++){
sprintf(filename, "preproc/preproc%d.jpg", index);
img = cvLoadImage(filename, 0);
}嗨!这里的代码会产生错误:无法将赋值中的‘IplImage** {aka _IplImage*}’转换为‘IplImage {aka _IplImage*}’。我试图在这里加载多个图像。我做错了什么?谢谢!
发布于 2011-11-21 17:41:04
您声明'img‘为指向IplImage的指针,然后尝试将其转换为指向指针的指针。(IplImage**) -由于您试图将IplImage**分配给IplImage*,此类型广播对于此特殊情况是不正确的。
声明img为: IplImage **img;
发布于 2011-11-21 17:41:42
尝尝这个
IplImage** img;
img = (IplImage**)malloc(IMAGE_NUM * sizeof(IplImage *));
for(index=0; index<IMAGE_NUM; index++){
sprintf(filename, "preproc/preproc%d.jpg", index);
*img = cvLoadImage(filename, 0);
}顺便说一句,下一个错误是在每次循环迭代之后没有推进img指针
发布于 2011-11-21 17:42:16
尝试声明IplImage** img;,然后声明img[index] = cvLoadImage(filename, 0),因为img是一个IplImage指针数组,cvLoadImage()返回一个图像。
https://stackoverflow.com/questions/8215997
复制相似问题