I tried using your patch (0001-Try-to-disable-jasper-jpeg2000-in-opencv.patch) and still the opencv plugins do not appear. As usual I attach cin5.log and config.log. PS: I was thinking that since compiling the latest version on git works (4.5, on https://github.com/opencv/opencv.git), can we try putting this in CinGG git? I mean instead of the current version 3.
On Saturday, May 21, 2022, Andrea paz via Cin <[email protected]> wrote:
I tried using your patch (0001-Try-to-disable-jasper-jpeg2000-in-opencv.patch) and still the opencv plugins do not appear. As usual I attach cin5.log and config.log.
cin5.log 9404246/9289K 98% /home/paz/cinelerra5/cinelerra-5.1/thirdparty/opencv/modules/videoio/sr c/cap_ffmpeg_impl.hpp:541:5: error: ‘AVBSFContext’ does not name a type ; did you mean ‘AVIOContext’? 541 | AVBSFContext* bsfc; | ^~~~~~~~~~~~ | AVIOContext cc1plus: warning: command-line option ‘-Wstrict-prototypes’ is valid fo r C/ObjC but not for C++ /home/paz/cinelerra5/cinelerra-5.1/thirdparty/opencv/modules/videoio/sr c/cap_ffmpeg_impl.hpp: In member function ‘void CvCapture_FFMPEG::init( )’: so now it breaks in different place... can you try to disable ffmpeg integration too?
PS: I was thinking that since compiling the latest version on git works (4.5, on https://github.com/opencv/opencv.git), can we try putting this in CinGG git? I mean instead of the current version 3.
if it does not demand too much from cmake/gcc..
On Saturday, May 21, 2022, Andrew Randrianasulu <[email protected]> wrote:
On Saturday, May 21, 2022, Andrea paz via Cin <[email protected]> wrote:
I tried using your patch (0001-Try-to-disable-jasper-jpeg2000-in-opencv.patch) and still the opencv plugins do not appear. As usual I attach cin5.log and config.log.
cin5.log 9404246/9289K 98% /home/paz/cinelerra5/cinelerra-5.1/thirdparty/opencv/modules/videoio/sr c/cap_ffmpeg_impl.hpp:541:5: error: ‘AVBSFContext’ does not name a type ; did you mean ‘AVIOContext’? 541 | AVBSFContext* bsfc; | ^~~~~~~~~~~~ | AVIOContext cc1plus: warning: command-line option ‘-Wstrict-prototypes’ is valid fo r C/ObjC but not for C++ /home/paz/cinelerra5/cinelerra-5.1/thirdparty/opencv/modules/videoio/sr c/cap_ffmpeg_impl.hpp: In member function ‘void CvCapture_FFMPEG::init( )’:
so now it breaks in different place... can you try to disable ffmpeg integration too?
from documentation... === It is possible to use CMake tool to print all available options: # initial configuration cmake ../opencv # print all options cmake -L # print all options with help message cmake -LH # print all options including advanced cmake -LA ==== FFmpeg WITH_FFMPEG (default: ON) Integration with FFmpeg library for decoding and encoding video files and network streams. This library can read and write many popular video formats. It consists of several components which must be installed as prerequisites for the build: avcodec avformat avutil swscale avresample (optional) Exception is Windows platform where a prebuilt plugin library containing FFmpeg will be downloaded during a configuration stage and copied to the bin folder with all produced libraries. Note Libav library can be used instead of FFmpeg, but this combination is not actively supported. GStreamer WITH_GSTREAMER (default: ON) Enable integration with GStreamer library for decoding and encoding video files, capturing frames from cameras and network streams. Numerous plugins can be installed to extend supported formats list. OpenCV allows running arbitrary GStreamer pipelines passed as strings to cv::VideoCapture and cv::VideoWriter objects. Various GStreamer plugins offer HW-accelerated video processing on different platforms. https://docs.opencv.org/4.x/db/d05/tutorial_config_reference.html ===
PS: I was thinking that since compiling the latest version on git works (4.5, on https://github.com/opencv/opencv.git), can we try putting this in CinGG git? I mean instead of the current version 3.
if it does not demand too much from cmake/gcc..
attached new patch and old patch too.. On Saturday, May 21, 2022, Andrew Randrianasulu <[email protected]> wrote:
On Saturday, May 21, 2022, Andrew Randrianasulu <[email protected]> wrote:
On Saturday, May 21, 2022, Andrea paz via Cin <[email protected]> wrote:
I tried using your patch (0001-Try-to-disable-jasper-jpeg2000-in-opencv.patch) and still the opencv plugins do not appear. As usual I attach cin5.log and config.log.
cin5.log 9404246/9289K 98% /home/paz/cinelerra5/cinelerra-5.1/thirdparty/opencv/modules/videoio/sr c/cap_ffmpeg_impl.hpp:541:5: error: ‘AVBSFContext’ does not name a type ; did you mean ‘AVIOContext’? 541 | AVBSFContext* bsfc; | ^~~~~~~~~~~~ | AVIOContext cc1plus: warning: command-line option ‘-Wstrict-prototypes’ is valid fo r C/ObjC but not for C++ /home/paz/cinelerra5/cinelerra-5.1/thirdparty/opencv/modules/videoio/sr c/cap_ffmpeg_impl.hpp: In member function ‘void CvCapture_FFMPEG::init( )’:
so now it breaks in different place... can you try to disable ffmpeg integration too?
from documentation... ===
It is possible to use CMake tool to print all available options:
# initial configuration cmake ../opencv # print all options cmake -L # print all options with help message cmake -LH # print all options including advanced cmake -LA ====
FFmpeg WITH_FFMPEG (default: ON)
Integration with FFmpeg library for decoding and encoding video files and network streams. This library can read and write many popular video formats. It consists of several components which must be installed as prerequisites for the build:
avcodec avformat avutil swscale avresample (optional) Exception is Windows platform where a prebuilt plugin library containing FFmpeg will be downloaded during a configuration stage and copied to the bin folder with all produced libraries.
Note Libav library can be used instead of FFmpeg, but this combination is not actively supported. GStreamer WITH_GSTREAMER (default: ON)
Enable integration with GStreamer library for decoding and encoding video files, capturing frames from cameras and network streams. Numerous plugins can be installed to extend supported formats list. OpenCV allows running arbitrary GStreamer pipelines passed as strings to cv::VideoCapture and cv::VideoWriter objects.
Various GStreamer plugins offer HW-accelerated video processing on different platforms.
https://docs.opencv.org/4.x/db/d05/tutorial_config_reference.html
===
PS: I was thinking that since compiling the latest version on git works (4.5, on https://github.com/opencv/opencv.git), can we try putting this in CinGG git? I mean instead of the current version 3.
if it does not demand too much from cmake/gcc..
so, if this miniseries does not break older (3.x) opencv we can hopefully apply it to our main codebase... On Saturday, May 21, 2022, Andrea paz <[email protected]> wrote:
OK, thank you. With the 2 patches I was able to build working OpenCv plugins.
If I understand correctly, the last 2 patches are all that is needed? I will hopefully find time to test today with: opencv-20180401.tgz (for older like ubuntu 16) opencv-20200306.tgz (for what I have been using for the releases) These 2 patches only? 0001-Try-to-disable-jasper-jpeg2000-in-opencv.patch 0002-Disable-more-in-opencv-build.patch On Sat, May 21, 2022 at 10:01 AM Andrew Randrianasulu via Cin < [email protected]> wrote:
so, if this miniseries does not break older (3.x) opencv we can hopefully apply it to our main codebase...
On Saturday, May 21, 2022, Andrea paz <[email protected]> wrote:
OK, thank you. With the 2 patches I was able to build working OpenCv plugins.
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
On Saturday, May 21, 2022, Phyllis Smith <[email protected]> wrote:
If I understand correctly, the last 2 patches are all that is needed? I will hopefully find time to test today with: opencv-20180401.tgz (for older like ubuntu 16) opencv-20200306.tgz (for what I have been using for the releases) These 2 patches only?
yes... 0001-Try-to-disable-jasper-jpeg2000-in-opencv.patch
0002-Disable-more-in-opencv-build.patch
On Sat, May 21, 2022 at 10:01 AM Andrew Randrianasulu via Cin < [email protected]> wrote:
so, if this miniseries does not break older (3.x) opencv we can hopefully apply it to our main codebase...
On Saturday, May 21, 2022, Andrea paz <[email protected]> wrote:
OK, thank you. With the 2 patches I was able to build working OpenCv plugins.
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
Checked the 2 patches by Andrew into GIT. Both 2018 and 2020 opencv versions work on Fedora 32 and Ubuntu 16 but I did not test on an older O/S that had the older cmake. PS: I was thinking that since compiling the latest version on git
works (4.5, on https://github.com/opencv/opencv.git), can we try putting this in CinGG git? I mean instead of the current version 3.
The whole reason for not updating OpenCV is because of licensing with the Surf algorithm which is necessary for FindObj to work well. The later versions (at that time) had the Surf algorithm removed as no longer non-free. So if you can verify that Surf is again free and part of the released OpenCV version 4.5, then we can certainly upgrade and that would be very good.
On Sunday, May 22, 2022, Phyllis Smith via Cin <[email protected]> wrote:
Checked the 2 patches by Andrew into GIT. Both 2018 and 2020 opencv versions work on Fedora 32 and Ubuntu 16 but I did not test on an older O/S that had the older cmake.
PS: I was thinking that since compiling the latest version on git
works (4.5, on https://github.com/opencv/opencv.git), can we try putting this in CinGG git? I mean instead of the current version 3.
The whole reason for not updating OpenCV is because of licensing with the Surf algorithm which is necessary for FindObj to work well. The later versions (at that time) had the Surf algorithm removed as no longer non-free.
At least here https://github.com/opencv/opencv_contrib/blob/4.x/modules/xfeatures2d/src/su... I still see #ifdef OPENCV_ENABLE_NONFREE while may be patents for this exactly algo already expired? ah no, only SIFT patent expired... https://github.com/scikit-image/scikit-image/issues/4499
So if you can verify that Surf is again free and part of the released OpenCV version 4.5, then we can certainly upgrade and that would be very good.
Some time ago I had contacted the SURF developer (Herbert Bay); I report the email exchange: Andrea paz "I would like to ask for clarification about the implementation of SURF: Speeded Up Robust Features in the FindObj plugin of OpenCV, which is used in the open source NLE software Cinelerra-GG. (https://www.cinelerra-gg.org/). Like all NLE programs, it can be used in an amateur way, but also to produce videos for commercial use. The doubt is about SURF license: is it possible to use OpenCV FindObj in Cinelerra-GG? For now an old version is implemented from which SURF has been excluded; but I was wondering if it is possible to use more updated versions that include SURF." Answer (Herbert Bay) "Sorry, don't know. That's too long time ago and I personally didn't implement SURF in Open CV. Here's the original source code: https://github.com/herbertbay/SURF" License in github: LICENSE CONDITIONS Copyright (2006): ETH Zurich, Switzerland Katholieke Universiteit Leuven, Belgium All rights reserved. For details, see the paper: Herbert Bay, Tinne Tuytelaars, Luc Van Gool, "SURF: Speeded Up Robust Features" Proceedings of the ninth European Conference on Computer Vision, May 2006 Permission to use, copy, modify, and distribute this software and its documentation for educational, research, and non-commercial purposes, without fee and without a signed licensing agreement, is hereby granted, provided that the above copyright notice and this paragraph appear in all copies modifications, and distributions. Any commercial use or any redistribution of this software requires a license from one of the above mentioned establishments. For further details, contact Herbert Bay ([email protected]). In my opinion, if the direct supervisor is not interested, it means that he gives the green light for its use in CinGG. In your opinion, is it better not to risk it?
On Sunday, May 22, 2022, Andrea paz <[email protected]> wrote:
Some time ago I had contacted the SURF developer (Herbert Bay); I report the email exchange:
Andrea paz
"I would like to ask for clarification about the implementation of SURF: Speeded Up Robust Features in the FindObj plugin of OpenCV, which is used in the open source NLE software Cinelerra-GG. (https://www.cinelerra-gg.org/). Like all NLE programs, it can be used in an amateur way, but also to produce videos for commercial use. The doubt is about SURF license: is it possible to use OpenCV FindObj in Cinelerra-GG? For now an old version is implemented from which SURF has been excluded; but I was wondering if it is possible to use more updated versions that include SURF."
Answer (Herbert Bay)
"Sorry, don't know. That's too long time ago and I personally didn't implement SURF in Open CV. Here's the original source code: https://github.com/herbertbay/SURF"
License in github:
LICENSE CONDITIONS
Copyright (2006): ETH Zurich, Switzerland Katholieke Universiteit Leuven, Belgium All rights reserved.
For details, see the paper: Herbert Bay, Tinne Tuytelaars, Luc Van Gool, "SURF: Speeded Up Robust Features" Proceedings of the ninth European Conference on Computer Vision, May 2006 Permission to use, copy, modify, and distribute this software and its documentation for educational, research, and non-commercial purposes, without fee and without a signed licensing agreement, is hereby granted, provided that the above copyright notice and this paragraph appear in all copies modifications, and distributions.
Any commercial use or any redistribution of this software requires a license from one of the above mentioned establishments.
For further details, contact Herbert Bay ([email protected]).
In my opinion, if the direct supervisor is not interested, it means that he gives the green light for its use in CinGG. In your opinion, is it better not to risk it?
I do not know.. there seems to be patent at least in skme countries involving Toyota (?), and it valid until 2029... https://patents.google.com/patent/US20090238460A1/en Robust interest point detector and descriptor Abstract Methods and apparatus for operating on images are described, in particular methods and apparatus for interest point detection and/or description working under different scales and with different rotations, e.g. for scale-invariant and rotation-invariant interest point detection and/or description. The present invention can provide improved or alternative apparatus and methods for matching interest points either in the same image or in a different image. The present invention can provide alternative or improved software for implementing any of the methods of the invention. The present invention can provide alternative or improved data structures created by multiple filtering operations to generate a plurality of filtered images as well as data structures for storing the filtered images themselves, e.g. as stored in memory or transmitted through a network. The present invention can provide alternative or improved data structures including descriptors of interest points in images, e.g. as stored in memory or transmitted through a network as well as datastructures associating such descriptors with an original copy of the image or an image derived therefrom, e.g. a thumbnail image. Classifications G06V10/446 Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering using Haar-like filters, e.g. using integral image techniques View 5 more classifications US20090238460A1 United States Download PDF Find Prior Art Similar InventorRyuji FunayamaHiromichi YanagiharaLuc Van GoolTinne TuytelaarsHerbert BayCurrent Assignee KU Leuven Research and Development Eidgenoessische Technische Hochschule Zurich ETHZ Toyota Motor Corp Worldwide applications 2006 EP AT DE 2007 KR EP US WO AU KR JP 2012 US Application US12/298,879 events 2006-04-28 Priority to EP06447060A 2007-04-30 Application filed by Toyota Motor Europe NV SA, KU Leuven Research and Development, Eidgenoessische Technische Hochschule Zurich ETHZ 2009-09-24 Publication of US20090238460A1 2012-04-24 Application granted 2012-04-24 Publication of US8165401B2 Status Active 2029-04-13 Adjusted expiration === FIG. 10 shows a comparison of experimental results between a method according to the present invention and known methods. “SURF” refers to application of the present invention. SURF 37 refers to the number of dimensions of the descriptor used, i.e. 37, and similarly for SURF 65 and 129. === If I understand correctly similar patent concerns also apply to x264/x265 ... should we disable them in binary (appimage) distribution of CinGG?
On Sunday, May 22, 2022, Andrew Randrianasulu <[email protected]> wrote:
On Sunday, May 22, 2022, Phyllis Smith via Cin <[email protected]> wrote:
Checked the 2 patches by Andrew into GIT. Both 2018 and 2020 opencv versions work on Fedora 32 and Ubuntu 16 but I did not test on an older O/S that had the older cmake.
PS: I was thinking that since compiling the latest version on git
works (4.5, on https://github.com/opencv/opencv.git), can we try putting this in CinGG git? I mean instead of the current version 3.
The whole reason for not updating OpenCV is because of licensing with the Surf algorithm which is necessary for FindObj to work well. The later versions (at that time) had the Surf algorithm removed as no longer non-free.
At least here https://github.com/opencv/opencv_contrib/blob/4.x/ modules/xfeatures2d/src/surf.cpp
I still see #ifdef OPENCV_ENABLE_NONFREE
while may be patents for this exactly algo already expired?
ah no, only SIFT patent expired...
https://github.com/herbertbay/SURF/blob/master/LICENSE to be honest licence sounds a bit contradicting itself? ==== Permission to use, copy, modify, and distribute this software and its documentation for educational, research, and non-commercial purposes, without fee and without a signed licensing agreement, is hereby granted, provided that the above copyright notice and this paragraph appear in all copies modifications, and distributions. Any commercial use or any redistribution of this software requires a license from one of the above mentioned establishments. For further details, contact Herbert Bay ([email protected]). ===== how can 'any redistribution' be prohibited if it granted permussion to use, modify and _distribute_ this software forb(research/education) ... and non-commercial purposes?
So if you can verify that Surf is again free and part of the released OpenCV version 4.5, then we can certainly upgrade and that would be very good.
The best thing would be to get a disclaimer written by Herbert himself. However, he considers SURF antiquated and no longer of interest to him.
participants (3)
-
Andrea paz -
Andrew Randrianasulu -
Phyllis Smith