It fails to build only on Mac OSX with the following error.
In file included from ../subprojects/gst-plugins-bad/ext/opencv/gstopencv.cpp:45:
../subprojects/gst-plugins-bad/ext/opencv/gstcameracalibrate.h:96:38: error: a space is required between consecutive right angle brackets (use '> >')
std::vector<std::vector<cv::Point2f>> imagePoints;
^~
> >
1 error generated.
Fix: #817
This uses the new path for OpenCV headers. OpenCV now have
master headers files per modules, which reduce the amount of
required includes. Note that HIGHGUI was included to get the
imgcodecs includes, which I fixed, though the master header is
missing the C headers, so I included that directly. All the
image stuff should be ported to C++ eventually. Finally, this
patch also update the header checks to reflect the modules that
are really being used.
The `CV_RGB` macro is now in `imgproc.hpp`.
Fixes:
../subprojects/gst-plugins-bad/ext/opencv/gsthanddetect.cpp:497:40: error: ‘CV_RGB’ was not declared in this scope
cvCircle (img, center, radius, CV_RGB (0, 0, 200), 1, 8, 0);
^~~~~~
Explicitly cast to void* because GCC 8 is (rightfully) upset that this is
"writing to an object of type ‘...’ with no trivial copy-assignment".
Caused by the new "class-memaccess" warning
This patch bumps the required meson to 0.40.1 as gstreamer core just
did, and cleanup some code to use a feature from 0.37 that allow
specifying version range when checking dependency.
https://bugzilla.gnome.org/show_bug.cgi?id=780654
Allow 1 extra char in the tmp buffer where the motion cell
snippets are generated, so that it doesn't leave off a comma
when dealing with cells that have 2 numerals in both indices
Otherwise the destructor will never be called, and we would have to call
the constructors manually at some point... which we never did, so
calling release() on it before it got otherwise initialized caused a
crash. For example when running gst-inspect-1.0.
Simply produce the result into the output image provided by the base
class. This avoid useless copy. This also removes unchecked buffer map
and ensure that GstVideoMeta is respected (for stride mostly).
https://bugzilla.gnome.org/show_bug.cgi?id=775377
Simply produce the result into the output image provided by the base
class. This avoid useless copy. This also removes unchecked buffer map
and ensure that GstVideoMeta is respected (for stride mostly).
https://bugzilla.gnome.org/show_bug.cgi?id=775377
Simply produce the result into the output image provided by the base
class. This avoid useless copy. This also removes unchecked buffer map
and ensure that GstVideoMeta is respected (for stride mostly).
https://bugzilla.gnome.org/show_bug.cgi?id=775377
a) Use get_pkgconfig_variable() to get the opencv prefix
b) Place an upper limit on the opencv version
c) Ensure that headers are available
(b) and (c) just copy what the configure.ac checks do.
wldisplay.c:179:15: error: comparison of unsigned enum expression < 0 is always false [-Werror,-Wtautological-compare]
if (shm_fmt < 0)
~~~~~~~ ^ ~
gstsegmentation.cpp:419:40: error: implicit conversion from 'int' to 'char' changes value from 255 to -1 [-Werror,-Wconstant-conversion]
filter->cvFG->imageData[j] = 255;
~ ^~~
https://bugzilla.gnome.org/show_bug.cgi?id=775112
Use namespace only after it was actually defined by a header.
gstfacedetect.cpp:79:17: error: using directive refers to implicitly-defined namespace 'std' [-Werror]
using namespace std;
^
- add using namespace std; for std::vector
- use the cpp header imgproc.hpp file for the cv::ellipse function instead of
the C header
- Mat no longer takes IplImage in it's constructors, use the cvarrtomat()
function instead.
Fixes a couple of build errors:
gstfacedetect.cpp:140:30: error: ‘vector’ does not name a type
structure_and_message (const vector < Rect > &rectangles, const gchar * name,
^~~~~~
gstfacedetect.cpp:140:37: error: expected ‘,’ or ‘...’ before ‘<’ token
structure_and_message (const vector < Rect > &rectangles, const gchar * name,
^
gstfacedetect.cpp: In function ‘void structure_and_message(int)’:
gstfacedetect.cpp:143:13: error: ‘rectangles’ was not declared in this scope
Rect sr = rectangles[0];
[...]
gstfacedetect.cpp: In function ‘void
gst_face_detect_run_detector(GstFaceDetect*, cv::CascadeClassifier*, gint, gint,
cv::Rect, std::vector<cv::Rect_<int> >&)’:
gstfacedetect.cpp:562:31: error: no matching function for call to
‘cv::Mat::Mat(IplImage*&, cv::Rect&)’
Mat roi (filter->cvGray, r);
[...]
gstfacedetect.cpp: In function ‘GstFlowReturn
gst_face_detect_transform_ip(GstOpencvVideoFilter*, GstBuffer*, IplImage*)’:
gstfacedetect.cpp:594:44: error: no matching function for call to
‘cv::Mat::Mat(cv::Mat, bool)’
Mat mtxOrg (cv::cvarrToMat (img), false);
[...]
gstfacedetect.cpp:734:79: error: ‘ellipse’ was not declared in this scope
ellipse (mtxOrg, center, axes, 0, 0, 360, Scalar (cr, cg, cb), 3, 8,
0);