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 *}'。我想在这里加载多个图像。我究竟做错了什么?谢谢!
答案 0 :(得分:0)
您声明'img'是指向IplImage的指针,然后您尝试将其转换为指向指针的指针。 (IplImage**)
- 由于您尝试将IplImage **分配给IplImage *,因此针对此特定情况的类型转换不正确。
将img声明为:IplImage ** img;
答案 1 :(得分:0)
试试这个
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指针
答案 2 :(得分:0)
尝试声明IplImage** img;
,然后声明img[index] = cvLoadImage(filename, 0)
,因为img
是一个IplImage指针数组,cvLoadImage()返回单个图像。