[vlc-devel] [PATCH v2] modules/video_filter/opencv_example.cpp: fix build with opencv 3.4.9

Fabrice Fontaine fontaine.fabrice at gmail.com
Sun Mar 8 23:20:12 CET 2020


Use cvScalar instead of CV_RGB to avoid the following build failure with
opencv 3.4.9:

In file included from /home/naourr/work/instance-2/output-1/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/opencv2/imgproc/imgproc.hpp:48,
                 from video_filter/opencv_example.cpp:46:
video_filter/opencv_example.cpp: In function 'picture_t* Filter(filter_t*, picture_t*)':
video_filter/opencv_example.cpp:200:46: error: could not convert 'cv::Scalar_<double>((double)0, (double)0, (double)0, (double)0)' from 'cv::Scalar' {aka 'cv::Scalar_<double>'} to 'CvScalar'
             cvRectangle( p_img[0], pt1, pt2, CV_RGB(0,0,0), 3, 8, 0 );
                                              ^~~~~~

Indeed, CV_RGB is defined as cv::Scalar instead of cvScalar since
version 3.4.2 and
https://github.com/opencv/opencv/commit/7f9253ea0a9fe2635926379420002dbf0c3fce0f

Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
---
 modules/video_filter/opencv_example.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/video_filter/opencv_example.cpp b/modules/video_filter/opencv_example.cpp
index 1334cd4c36..1a8d574f7a 100644
--- a/modules/video_filter/opencv_example.cpp
+++ b/modules/video_filter/opencv_example.cpp
@@ -202,7 +202,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
             pt2.x = (r->x+r->width)*scale;
             pt1.y = r->y*scale;
             pt2.y = (r->y+r->height)*scale;
-            cvRectangle( p_img[0], pt1, pt2, CV_RGB(0,0,0), 3, 8, 0 );
+            cvRectangle( p_img[0], pt1, pt2, cvScalar(0,0,0,0), 3, 8, 0 );
 
             *(CvRect*)(&(p_sys->event_info.p_region[i])) = *r;
             p_sys->event_info.p_region[i].i_id = p_sys->i_id++;
-- 
2.25.0



More information about the vlc-devel mailing list