Commit graph

242 commits

Author SHA1 Message Date
Luis de Bethencourt e90b383060 opencv: update deprecated function in skindetect
cvCvtPixToPlane() has been deprecated in OpenCV 3.0, and cvSplit() is the
suggested replacement. Since cvSplit() is available in OpenCV 2.4, it is
safe and cautious to update the function usage before it becomes an issue.
2016-01-25 15:23:10 +00:00
Luis de Bethencourt 36e83661ec opencv: fix cvlaplace
cvlaplace was also affected by the silent change in OpenCV API, same as
cvsobel. It hasn't been working for a while. It would return a plain black
image. This commit updates the usage of cvLaplace by using cvCvtColor to
create the grayscale intermediate image to process. This also means there
is no need anymore to use GstBaseTransform's transform_caps, since the pads
are RGB.
2016-01-25 14:20:14 +00:00
Luis de Bethencourt e294866bd7 opencv: fix cvsobel
cvsobel han't been working for a while due to a silent change in OpenCV
API. It would return a plain black image. This commit updates the usage
of cvSobel by using cvCvtColor to create the grayscale image to process.
This also means there is no need to use GstBaseTransform's transform_caps
anymore, since the pads can be RGB.
2016-01-24 23:19:18 +00:00
Luis de Bethencourt 8c7ea6fb87 opencv: remove check for OpenCV version
After commit 64080e632, configure checks for all the header files that
should be available in OpenCV 2.3 and later. If any of these files isn't
there the OpenCV elements won't be part of the build.

No need to recheck for opencv2/legacy/legacy.hpp again in
gstpyramidsegment.h. Minimum supported OpenCV version must have this header
and configure already checks for it. Removing check.
2016-01-08 17:12:04 +00:00
Luis de Bethencourt 94c07ed229 opencv: always do cvsmooth in place
After the update to new OpenCV API the transform function using an out
buffer is not necessary. We can always do the transformation in place.
2016-01-08 15:01:52 +00:00
Luis de Bethencourt 14dd6b7088 opencv: do pyramidsegment's transformation in place
Run the transform function of pyramidsegment in place, reusing the image
data as both source and destination in cvPyrSegmentation. This avoids
copying the image back and forth and the extra memory.
2016-01-08 12:39:55 +00:00
Reynaldo H. Verdejo Pinochet 77b7864670 motioncells: fix splitting of RGB color string
No need to attempt splitting the RGB string in 255 tokens
if we only expect 3.

Left max_tokens at 4 to preserve the current logic (which
allows for extra stuff at the end) and added a warning on
parsing failure instead of silently discarding the value.
2015-12-27 23:26:50 -08:00
Reynaldo H. Verdejo Pinochet 5515a96167 motioncells: fix typo in header 2015-12-27 23:26:50 -08:00
Reynaldo H. Verdejo Pinochet c0ced1590d motioncells: fix misleading warning message
calculate_motion != FALSE means the motion computation
logic is disabled, not a mapping error.
2015-12-27 23:26:50 -08:00
Reynaldo H. Verdejo Pinochet 8f3392ba44 motioncells: rework property descriptions 2015-12-27 23:26:50 -08:00
Reynaldo H. Verdejo Pinochet c788678059 motioncells: use NULL instead of g_strdup(NULL) 2015-12-27 23:26:50 -08:00
Luis de Bethencourt d59413ba06 opencv: remove unneeded sink_event function in pyramidsegment 2015-12-19 12:05:59 +00:00
Luis de Bethencourt 83b5fe74c2 opencv: remove unneeded sink_event function in textoverlay 2015-12-19 12:04:01 +00:00
Thiago Santos fa2c220693 templatematch: remove useless function 2015-12-18 18:52:12 -03:00
Luis de Bethencourt fa1775acee opencv: update opencvtextoverlay to GstOpencvVideoFilter
Update opencvtextoverlay to inherit from GstOpencvVideoFilter instead of
from GstElement. This means less code and more uniformity with other OpenCV
elements. The chain/transform function is now a third of the size than
before.
2015-12-18 16:56:18 +00:00
Luis de Bethencourt 8b6ea95bee opencv: update templatematch to GstOpencvVideoFilter
Update pyramidsegment to inherit from GstOpencvVideoFilter instead of from
GstElement. This means less code and more uniformity with other OpenCV
elements.
2015-12-18 16:18:56 +00:00
Luis de Bethencourt cdaedd74db opencv: update pyramidsegment to GstOpencvVideoFilter
Update pyramidsegment to inherit from GstOpencvVideoFilter instead of from
GstElement. This means less code and more uniformity with other OpenCV
elements.
2015-12-18 15:48:29 +00:00
Luis de Bethencourt 40d0c1aec0 opencv: update motioncells to GstOpencvVideoFilter
Update motioncells to inherit from GstOpencvVideoFilter instead of from
GstElement. This means less code and more uniformity with other OpenCV
elements.
2015-12-18 12:42:25 +00:00
Luis de Bethencourt ae0b8e060e opencv: update edgedetect to GstOpencvVideoFilter
Update edgedetect to inherit from GstOpencvVideoFilter instead of from
GstElement. This means less code and more uniformity with other OpenCV
elements.
2015-12-17 18:27:01 +00:00
Luis de Bethencourt 98784aa72c opencv: add blur and bilateral support in cvsmooth
Adding the support for the two other OpenCV linear filters to smooth
images. The new API does support spatial sigma in the bilateral filter,
hence bringing that property back.

Adding reference to new documentation.
2015-12-17 10:15:48 +00:00
Luis de Bethencourt c805b15491 opencv: add medianBlur support in cvsmooth
With the deprecation of cvSmooth we have to handle the other smoothing
functions manually.
2015-12-16 19:37:58 +00:00
Luis de Bethencourt ad1b36321a opencv: switch deprecated cvSmooth for GaussianBlur
The OpenCV cvSmooth function is deprecated [0] and the documentation
recommends to use GaussianBlur (). This makes the spatial property go
unused. Marking it as deprecated, making it non-functional and will remove
in the next cycle.

[0] http://docs.opencv.org/2.4/modules/imgproc/doc/filtering.html
2015-12-16 19:37:58 +00:00
Luis de Bethencourt 34faa2d79a opencv: pyramidsegment: fix example launch line
Use videotestsrc and autovideosink in the example gst-launch-1.0 line and
not a useless fakesrc-fakesink example.
2015-12-15 20:55:06 +00:00
Luis de Bethencourt 0988226522 opencv: add headers with example launch lines
Add description headers for all the OpenCV plugins missing them, so we can
have gst-launch-1.0 example launch lines for all of them.
2015-12-15 20:55:00 +00:00
Luis de Bethencourt 447c1b1395 opencv: clean includes
The opencv element includes were full of duplicates and uneeded headers.
For example a few elements that stopped using gstcvopencvutils still
included that header file.
2015-12-12 20:09:15 +00:00
Luis de Bethencourt 892d8d515f opencv: remove unused functions in gstopencvutils
Since commit 45ca8876b2 nobody is using
gst_opencv_get_ipl_depth_and_channels() or
gst_opencv_parse_iplimage_params_from_structure(). Remove this dead
code.
2015-12-12 19:31:55 +00:00
Luis de Bethencourt 2acdb01bc9 motioncells: Remove unused includes 2015-12-12 19:13:42 +00:00
Luis de Bethencourt 49ccb72b47 docs: update gst-launch-0.10 lines
Update references to gst-launch-0.10 to gst-launch-1.0
2015-11-19 17:25:01 +00:00
Stefan Sauer af27ee3aa7 opencv: cast paramspec flags to fix the build for c++
All the other elements in this plugin do this already.
2015-11-03 09:19:37 -08:00
Luis de Bethencourt ec319bb9d2 opencv: handdetect: no need to get a writable buffer
No need to get a writable buffer inside cv_trans_func of opencv video
filter. GstBaseTransform takes care of this.
2015-10-21 17:06:45 +01:00
Luis de Bethencourt ebeb12d0e8 opencv: handdetect: free best_r with delete
best_r is a cv::Rect, so it should be freed with delete and not with
g_free()
2015-10-20 12:24:13 +01:00
Luis de Bethencourt 1193fc875d opencv: motioncells: remove unnecessary check
We know that the gchar arrays contain at least one string. Furthermore,
g_strfreev() checks if the array is NULL and simply returns if it is.
Hence, there is no need to check if the array is empty before using
g_strfreev().

CID 1327412-1327415
2015-10-20 12:09:01 +01:00
Luis de Bethencourt f58cd983b6 opencv: switch remaining to C++
Switch remaining C files to C++ for consistency with other OpeCV elements,
and support of the new 2.4.11 API.

https://bugzilla.gnome.org/show_bug.cgi?id=754148
2015-10-14 15:48:51 +01:00
Luis de Bethencourt 10085a5d01 opencv: motioncells: Switch to C++
Switch gstmotioncells to C++ for consistency with other OpenCV elements,
and support of the new 2.4.11 API.

https://bugzilla.gnome.org/show_bug.cgi?id=754148
2015-10-14 14:37:51 +01:00
Luis de Bethencourt 3ffdb8a6e4 textoverlay: Switch to C++
Switch gsttextoverlay to C++ for consistency with other OpenCV elements,
and support of the new 2.4.11 API.

https://bugzilla.gnome.org/show_bug.cgi?id=754148
2015-10-11 23:45:35 +01:00
Luis de Bethencourt 466966ff6c opencv: pyramidsegment: Switch to C++
Switch gstpyramidsegment to C++ for consistency with other OpenCV elements,
and support of the new 2.4.11 API.

https://bugzilla.gnome.org/show_bug.cgi?id=754148
2015-10-11 22:15:06 +01:00
Luis de Bethencourt 61168794ea cvsobel: Switch to C++
Switch gstcvlsobel to C++ for consistency with other OpenCV elements, and
support of the new 2.4.11 API.

https://bugzilla.gnome.org/show_bug.cgi?id=754148
2015-10-10 18:00:31 +01:00
Luis de Bethencourt a4429cf769 cvlaplace: Switch to C++
Switch gstcvlaplace to C++ for consistency with other OpenCV elements, and
support of the new 2.4.11 API.

https://bugzilla.gnome.org/show_bug.cgi?id=754148
2015-10-10 17:02:11 +01:00
Luis de Bethencourt 49287b1e04 cvequalizehist: Switch to C++
Switch gstcvequalizehist to C++ for consistency with other OpenCV elements,
and support of the new 2.4.11 API.

https://bugzilla.gnome.org/show_bug.cgi?id=754148
2015-10-10 17:02:05 +01:00
Luis de Bethencourt b2420b0408 cverode: Switch to C++
Switch gstcverode to C++ for consistency with other OpenCV elements, and
support of the new 2.4.11 API.

https://bugzilla.gnome.org/show_bug.cgi?id=754148
2015-10-10 14:14:32 +01:00
Vanessa Chipirrás Navalón f8e11fe656 cvdilate: Change gstcvdilate to C++
Change the gstcvdilate.c file extension to cpp and add it into Makefile for
consistency with other elements of opencv and because Opencv not support C
language in new API 2.4.11.

https://bugzilla.gnome.org/show_bug.cgi?id=754148
2015-10-02 19:07:17 +01:00
Vanessa Chipirrás Navalón 7f9aef31cb skindetect: Change gstskindetect to C++
Change the file extension to cpp and add it into Makefile for consistency
with other elements of opencv and because Opencv not support C language in
new API 2.4.11.

https://bugzilla.gnome.org/show_bug.cgi?id=754148
2015-10-02 18:58:49 +01:00
Vanessa Chipirrás Navalón 1c9763c0eb opencvutils: add extern C, for the opencv elements work.
Adding G_BEGIN_DECLS and G_END_DECLS to gstopencvutils.h
to allow C-style linking.

https://bugzilla.gnome.org/show_bug.cgi?id=754148
2015-10-02 18:46:38 +01:00
Luis de Bethencourt e2709ed2ef retinex: use OpenCV namespace
As part of the switch to C++, use the new OpenCV functions.

https://bugzilla.gnome.org/show_bug.cgi?id=754148
2015-10-02 18:41:45 +01:00
Vanessa Chipirrás Navalón ae55a537e6 cvsmooth: port to C++
Change the file extension to cpp and add it into Makefile for consistency
with other elements of opencv and because Opencv not support C language in
new API 2.4.11.

https://bugzilla.gnome.org/show_bug.cgi?id=754148
2015-10-02 18:41:27 +01:00
Vanessa Chipirrás Navalón 936665dfd6 retinex: Change retinex to C++
Change the gstretinex.c file to cpp and add it into Makefile.
It is necessary to migrate the retinex element to C++,
because new Opencv API leaves obsolete functions like cvSmooth.
This element uses this function.

You can see in this link:
http://docs.opencv.org/modules/imgproc/doc/filtering.html?
highlight=cvsmooth#void cvSmooth(const CvArr* src, CvArr* dst,
int smoothtype, int size1, int size2, double sigma1, double sigma2)

https://bugzilla.gnome.org/show_bug.cgi?id=754148
2015-10-02 18:07:06 +01:00
Vanessa Chipirrás Navalón 31b1938a5f handdetect: remove another unused variable
Memory is reserved for this variable and then released without making any
use of it.

https://bugzilla.gnome.org/show_bug.cgi?id=752528
2015-10-02 17:19:12 +01:00
Luis de Bethencourt e00461a789 handdetect: CvPoint values changed from uint to int
The x and y values of CvPoint changed from unsigned to signed integers
in OpenCV 2.4.11.

https://bugzilla.gnome.org/show_bug.cgi?id=752528
2015-10-02 17:10:59 +01:00
Luis de Bethencourt 75e38f915f handdetect: need to migrate to C++
The cascade classifier changes its structure on new version of OpenCV 2.4.11.
It is need to migrate to C++ to utilize the new load method of OpenCV which
allows to load the old and new classifiers.

https://bugzilla.gnome.org/show_bug.cgi?id=752528
2015-10-02 17:10:59 +01:00
Luis de Bethencourt dab249a445 handdetect: Change gsthanddetect to C++
Change the gsthanddetect.c file to cpp and add it into Makefile.
It is necessary to migrate the handdetect plugin to C++,
in order to load new and old classifiers, to make handdetect work
with newer versions of Opencv.

https://bugzilla.gnome.org/show_bug.cgi?id=752528
2015-10-02 17:10:59 +01:00