diff -ur a/frei0r-plugins-1.4/src/filter/facedetect/facedetect.c b/frei0r-plugins-1.4/src/filter/facedetect/facedetect.c --- a/frei0r-plugins-1.4/src/filter/facedetect/facedetect.c 2013-02-24 15:43:22.000000000 +0200 +++ b/frei0r-plugins-1.4/src/filter/facedetect/facedetect.c 2015-12-19 12:27:05.984180725 +0200 @@ -211,8 +211,13 @@ double scale = 1.3; IplImage* gray = cvCreateImage( cvSize(img->width,img->height), 8, 1 ); +#if (CV_VERSION_EPOCH != 2) + IplImage* small_img = cvCreateImage( cvSize( cvRound ((double)img->width/scale), + cvRound ((double)img->height/scale)), +#else IplImage* small_img = cvCreateImage( cvSize( cvRound (img->width/scale), cvRound (img->height/scale)), +#endif 8, 1 ); int i; diff -ur a/frei0r-plugins-1.4/src/filter/facedetect/facedetect.cpp b/frei0r-plugins-1.4/src/filter/facedetect/facedetect.cpp --- a/frei0r-plugins-1.4/src/filter/facedetect/facedetect.cpp 2013-02-24 15:43:22.000000000 +0200 +++ b/frei0r-plugins-1.4/src/filter/facedetect/facedetect.cpp 2015-12-19 12:24:00.023349871 +0200 @@ -259,11 +259,19 @@ { double scale = this->scale == 0? 1.0 : this->scale; CvScalar colors[5] = { +#if (CV_VERSION_EPOCH != 2) + CvScalar(cvRound(color[0].r * 255), cvRound(color[0].g * 255), cvRound(color[0].b * 255), cvRound(alpha * 255)), + CvScalar(cvRound(color[1].r * 255), cvRound(color[1].g * 255), cvRound(color[1].b * 255), cvRound(alpha * 255)), + CvScalar(cvRound(color[2].r * 255), cvRound(color[2].g * 255), cvRound(color[2].b * 255), cvRound(alpha * 255)), + CvScalar(cvRound(color[3].r * 255), cvRound(color[3].g * 255), cvRound(color[3].b * 255), cvRound(alpha * 255)), + CvScalar(cvRound(color[4].r * 255), cvRound(color[4].g * 255), cvRound(color[4].b * 255), cvRound(alpha * 255)), +#else {{cvRound(color[0].r * 255), cvRound(color[0].g * 255), cvRound(color[0].b * 255), cvRound(alpha * 255)}}, {{cvRound(color[1].r * 255), cvRound(color[1].g * 255), cvRound(color[1].b * 255), cvRound(alpha * 255)}}, {{cvRound(color[2].r * 255), cvRound(color[2].g * 255), cvRound(color[2].b * 255), cvRound(alpha * 255)}}, {{cvRound(color[3].r * 255), cvRound(color[3].g * 255), cvRound(color[3].b * 255), cvRound(alpha * 255)}}, {{cvRound(color[4].r * 255), cvRound(color[4].g * 255), cvRound(color[4].b * 255), cvRound(alpha * 255)}}, +#endif }; for (int i = 0; i < (objects ? objects->total : 0); i++) @@ -287,14 +295,23 @@ } case 1: { +#if (CV_VERSION_EPOCH != 2) + CvBox2D box = CvBox2D(CvPoint2D32f(center.x, center.y), CvSize2D32f(r->width / scale, (r->height / scale) * 1.2), 90); +#else CvBox2D box = {{center.x, center.y}, {r->width / scale, (r->height / scale) * 1.2}, 90}; +#endif cvEllipseBox(image, box, colors[i % 5], thickness, linetype); break; } case 2: { +#if (CV_VERSION_EPOCH != 2) + CvPoint pt1 = CvPoint(r->x / scale, r->y / scale); + CvPoint pt2 = CvPoint((r->x + r->width) / scale, (r->y + r->height) / scale); +#else CvPoint pt1 = {r->x / scale, r->y / scale}; CvPoint pt2 = {(r->x + r->width) / scale, (r->y + r->height) / scale}; +#endif cvRectangle(image, pt1, pt2, colors[i % 5], thickness, linetype); break; }