错误C3861:&x27;cropImage';*:找不到标识符 在开发一个C++应用程序进行人脸认证时,我遇到了 错误: C3861: 'cropImage'*: identifier not found
这是cropImage的签名:错误C3861:&x27;cropImage';*:找不到标识符 在开发一个C++应用程序进行人脸认证时,我遇到了 错误: C3861: 'cropImage'*: identifier not found,c++,opencv,C++,Opencv,这是cropImage的签名: IplImage* cropImage(IplImage *img,CvRect region); 我尝试在以下函数中调用它: IplImage *cropFace(IplImage * image, CvPoint eye_left, CvPoint eye_right, double offset_pct[2], CvSize dest_sz) {//calculate offsets in original image ... //matr
IplImage* cropImage(IplImage *img,CvRect region);
我尝试在以下函数中调用它:
IplImage *cropFace(IplImage * image, CvPoint eye_left, CvPoint eye_right, double offset_pct[2], CvSize dest_sz)
{//calculate offsets in original image
...
//matrice de rotation
cv::Mat affine_matrix;
affine_matrix = cv::getRotationMatrix2D(eye_left, rotation, scale);
//mtx est la conversion de image IplImage* en matrice mtx
cv::Mat mtx = cv::Mat(image, true);
cv::Mat mtx2;
cv::warpAffine(mtx, mtx2, affine_matrix, mtx.size(), cv::INTER_LINEAR, cv::BORDER_CONSTANT, cv::Scalar::all(255));
//mtx est la conversion de matrice mtx2 en image IplImage*
IplImage image1 = mtx2;
//crop the rotated image
double crop_x = eye_left.x - scale * offset_h;
double crop_y = eye_left.y - scale * offset_v;
double crop_size0 = dest_sz.width * scale;
double crop_size1 = dest_sz.height * scale;
CvRect region;
region.x = cvFloor(crop_y);
region.y = cvFloor(crop_y);
region.width = cvFloor(crop_size0);
region.height = cvFloor(crop_size1);
//the problem in this ligne,it seems it has not known cropImage !! :(
IplImage *image2 = cropImage(&image1, region);
IplImage *image3 = resizeImage(image2, dest_sz.width, dest_sz.width);
return image3;
}
我认为IplImage*和Mat之间的转换导致了这个问题 问题似乎是你指出的。即使
图像
已经是指针类型,您仍使用&
符号解除对它的引用,从而导致双指针。你应该简单地尝试:
IplImage *image2 = cropImage(image1, region);
问题似乎是你指出的。即使
图像
已经是指针类型,您仍使用&
符号解除对它的引用,从而导致双指针。你应该简单地尝试:
IplImage *image2 = cropImage(image1, region);
只是一个提示-如果需要一个紧急的解决方案,也许你应该考虑花钱请人帮你解决。EN Plus,LangLangueSuffeleC.EnthEngLeas,所以你应该考虑用英语发布你的错误信息,或者至少翻译/描述它。只是一个提示——如果需要一个紧急的解决方案,也许你应该考虑花钱找个人帮你解决。EN Plus,La LangueSuffele ICI EnthEngLeas,所以你应该考虑用英语发布你的错误信息或者至少翻译/描述它。我有一个参数是image1,它的参数是IplImage,这就是为什么我把&image1。在所有情况下,我都通过写:IplImage image1=mtx2;//mtx2,其类型cv:Mat IplImage*im22=(IplImage*)和image1;这个问题已经解决了解决方案是当我写IplImage*cropFace(IplImage*image,CvPoint eye\u left,CvPoint eye\u right,double offset\u pct[2],CvSize dest\u sz)时,我通过写IplImage*classnoon::cropFace(IplImage*image,CvPoint eye\u left,CvPoint eye\u right,double offset\u pct[2],CvSize dest\u sz)进行校正同样对于另一个函数Distance,我应该用ClassNon::处理它,但现在我有了一个新问题,第一个异常是0x100e3cf2 dans shervinemami.exe:0xC0000094:整数除以零。cropImage需要一个输入参数,其类型为IplImage*。。。我有一个参数是image1,它的参数是IplImage,这就是为什么我把&image1。在所有情况下,我都通过写:IplImage image1=mtx2;//mtx2,其类型cv:Mat IplImage*im22=(IplImage*)和image1;这个问题已经解决了解决方案是当我写IplImage*cropFace(IplImage*image,CvPoint eye\u left,CvPoint eye\u right,double offset\u pct[2],CvSize dest\u sz)时,我通过写IplImage*classnoon::cropFace(IplImage*image,CvPoint eye\u left,CvPoint eye\u right,double offset\u pct[2],CvSize dest\u sz)进行校正同样对于另一个函数Distance,我应该用ClassNon::来处理它,但现在我有了一个新问题,第一个异常是0x100e3cf2 dans shervinemami.exe:0xC0000094:整数除以零。