diff mbox series

Properly note many dependencies for opencv modules

Message ID 20221125123801.4233-1-wdouglass@carnegierobotics.com
State Accepted
Headers show
Series Properly note many dependencies for opencv modules | expand

Commit Message

Woodrow Douglass Nov. 25, 2022, 12:38 p.m. UTC
Also, add myself to the DEVELOPERS file

Signed-off-by: Woodrow Douglass <wdouglass@carnegierobotics.com>
---
 DEVELOPERS                        |  4 ++++
 package/opencv4-contrib/Config.in | 20 ++++++++++++++++++++
 package/opencv4/opencv4.mk        |  9 ++++++---
 3 files changed, 30 insertions(+), 3 deletions(-)

Comments

Arnout Vandecappelle Oct. 15, 2023, 6:53 p.m. UTC | #1
Hi Woodrow,

  The subject of the patch should always start with "package/opencv4-contrib: ..."

  Applied to master with that fixed, and one more fix...

On 25/11/2022 13:38, Woodrow Douglass via buildroot wrote:
> Also, add myself to the DEVELOPERS file
> 
> Signed-off-by: Woodrow Douglass <wdouglass@carnegierobotics.com>

[snip]
>   config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_FACE
>   	bool "face"
> +	select BR2_PACKAGE_OPENCV4_LIB_OBJDETECCT
                                        ^^^^^^^^^^ OBJDETECT

  This was detected by check-package (but perhaps at the time you sent this 
patch, that feature hadn't been added to check-package yet).

  Regards,
  Arnout

>   	help
>   	  Face Recognition -- Face recognition techniques: Eigen, Fisher
>   	  and Local Binary Pattern Histograms LBPH methods.
[snip]
Peter Korsgaard Oct. 26, 2023, 11:10 a.m. UTC | #2
>>>>> "Arnout" == Arnout Vandecappelle via buildroot <buildroot@buildroot.org> writes:

 >  Hi Woodrow,
 >  The subject of the patch should always start with "package/opencv4-contrib: ..."

 >  Applied to master with that fixed, and one more fix...

 > On 25/11/2022 13:38, Woodrow Douglass via buildroot wrote:
 >> Also, add myself to the DEVELOPERS file
 >> Signed-off-by: Woodrow Douglass <wdouglass@carnegierobotics.com>

 > [snip]
 >> config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_FACE
 >> bool "face"
 >> +	select BR2_PACKAGE_OPENCV4_LIB_OBJDETECCT
 >                                        ^^^^^^^^^^ OBJDETECT

 >  This was detected by check-package (but perhaps at the time you sent
 >  this patch, that feature hadn't been added to check-package yet).

Committed to 2023.02.x and 2023.08.x, thanks.
diff mbox series

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index a2c60f38fd..947cb2b519 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -3051,6 +3051,10 @@  F:	package/python-pyusb/
 N:	Wojciech NiziƄski <niziak@spox.org>
 F:	package/fwup/
 
+N:	Woodrow Douglass <wdouglass@carnegierobotics.com>
+F:	package/opencv4
+F:	package/opencv4-contrib
+
 N:	Yair Ben Avraham <yairba@protonmail.com>
 F:	package/casync/
 F:	package/gloox/
diff --git a/package/opencv4-contrib/Config.in b/package/opencv4-contrib/Config.in
index 9800333035..e2ca26eb62 100644
--- a/package/opencv4-contrib/Config.in
+++ b/package/opencv4-contrib/Config.in
@@ -17,6 +17,7 @@  config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_ALPHAMAT
 
 config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_ARUCO
 	bool "aruco"
+	select BR2_PACKAGE_OPENCV4_LIB_CALIB3D
 	help
 	  ArUco and ChArUco Markers -- Augmented reality ArUco marker
 	  and "ChARUco" markers where ArUco markers embedded inside the
@@ -29,6 +30,7 @@  config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_BARCODE
 
 config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_BGSEGM
 	bool "bgsegm"
+	select BR2_PACKAGE_OPENCV4_LIB_VIDEO
 	help
 	  Background segmentation algorithm combining statistical
 	  background image estimation and per-pixel Bayesian
@@ -43,6 +45,7 @@  config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_BIOINSPIRED
 
 config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_CCALIB
 	bool "ccalib"
+	select BR2_PACKAGE_OPENCV4_LIB_HIGHGUI
 	help
 	  Custom Calibration -- Patterns for 3D reconstruction,
 	  omnidirectional camera calibration, random pattern calibration
@@ -71,6 +74,7 @@  config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_DATASETS
 
 config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_DNN_OBJDETECT
 	bool "dnn_objdetect"
+	select BR2_PACKAGE_OPENCV4_LIB_DNN
 	help
 	  Object Detection using CNNs -- Implements compact CNN Model
 	  for object detection. Trained using Caffe but uses
@@ -78,6 +82,7 @@  config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_DNN_OBJDETECT
 
 config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_DNN_SUPERRES
 	bool "dnn_superres"
+	select BR2_PACKAGE_OPENCV4_LIB_DNN
 	help
 	  Superresolution using CNNs -- Contains four trained
 	  convolutional neural networks to upscale images.
@@ -90,12 +95,14 @@  config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_DNNS_EASILY_FOOLED
 
 config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_DPM
 	bool "dpm"
+	select BR2_PACKAGE_OPENCV4_LIB_OBJDETECT
 	help
 	  Deformable Part Model -- Felzenszwalb's Cascade with
 	  deformable parts object recognition code.
 
 config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_FACE
 	bool "face"
+	select BR2_PACKAGE_OPENCV4_LIB_OBJDETECCT
 	help
 	  Face Recognition -- Face recognition techniques: Eigen, Fisher
 	  and Local Binary Pattern Histograms LBPH methods.
@@ -165,6 +172,7 @@  config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_MCC
 
 config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_OPTFLOW
 	bool "optflow"
+	select BR2_PACKAGE_OPENCV4_LIB_VIDEO
 	help
 	  Optical Flow -- Algorithms for running and evaluating
 	  deepflow, simpleflow, sparsetodenseflow and motion
@@ -219,6 +227,11 @@  config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_SALIENCY
 
 config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_SFM
 	bool "sfm"
+	select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
+	select BR2_PACKAGE_OPENCV4_LIB_IMGCODECS
+	select BR2_PACKAGE_EIGEN
+	select BR2_PACKAGE_GLOG
+	select BR2_PACKAGE_GFLAGS
 	help
 	  Structure from Motion -- This module contains algorithms
 	  to perform 3d reconstruction from 2d images. The core of
@@ -231,6 +244,7 @@  config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_SHAPE
 
 config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_STEREO
 	bool "stereo"
+	select BR2_PACKAGE_OPENCV4_CONTRIB_LIB_TRACKING
 	help
 	  Stereo Correspondence -- Stereo matching done with different
 	  descriptors: Census / CS-Census / MCT / BRIEF / MV and dense
@@ -244,6 +258,7 @@  config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_STRUCTURED_LIGHT
 
 config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_SUPERRES
 	bool "superres"
+	select BR2_PACKAGE_OPENCV4_LIB_VIDEO
 	help
 	  Super Resolution
 
@@ -262,12 +277,15 @@  config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_TEXT
 
 config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_TRACKING
 	bool "tracking"
+	select BR2_PACKAGE_OPENCV4_LIB_VIDEO
 	help
 	  Vision Based Object Tracking -- Use and/or evaluate different
 	  visual object tracking techniques.
 
 config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_VIDEOSTAB
 	bool "videostab"
+	select BR2_PACKAGE_OPENCV4_LIB_VIDEO
+	select BR2_PACKAGE_OPENCV4_LIB_PHOTO
 	help
 	  Video Stabilization
 
@@ -299,6 +317,7 @@  config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_XIMGPROC
 
 config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_XOBJDETECT
 	bool "xobjdetect"
+	select BR2_PACKAGE_OPENCV4_LIB_OBJDETECT
 	help
 	  Boosted 2D Object Detection -- Uses a Waldboost cascade and
 	  local binary patterns computed as integral features for 2D
@@ -306,6 +325,7 @@  config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_XOBJDETECT
 
 config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_XPHOTO
 	bool "xphoto"
+	select BR2_PACKAGE_OPENCV4_LIB_PHOTO
 	help
 	  Extra Computational Photography -- Additional photo processing
 	  algorithms: Color balance / Denoising / Inpainting.
diff --git a/package/opencv4/opencv4.mk b/package/opencv4/opencv4.mk
index a665793ad9..2a05de42fb 100644
--- a/package/opencv4/opencv4.mk
+++ b/package/opencv4/opencv4.mk
@@ -203,12 +203,10 @@  OPENCV4_CONF_OPTS += \
 	-DINSTALL_PYTHON_EXAMPLES=OFF \
 	-DINSTALL_TO_MANGLED_PATHS=OFF
 
-# Disabled features (mostly because they are not available in Buildroot), but
-# - eigen: OpenCV does not use it, not take any benefit from it.
+# Disabled features (mostly because they are not available in Buildroot)
 OPENCV4_CONF_OPTS += \
 	-DWITH_1394=OFF \
 	-DWITH_CLP=OFF \
-	-DWITH_EIGEN=OFF \
 	-DWITH_GDAL=OFF \
 	-DWITH_GPHOTO2=OFF \
 	-DWITH_GSTREAMER_0_10=OFF \
@@ -284,6 +282,11 @@  OPENCV4_CONF_OPTS += \
 	-DBUILD_opencv_xphoto=$(if $(BR2_PACKAGE_OPENCV4_CONTRIB_LIB_XPHOTO),ON,OFF)
 endif
 
+ifeq ($(BR2_PACKAGE_OPENCV4_CONTRIB_LIB_SFM),y)
+OPENCV4_DEPENDENCIES += eigen glog gflags
+OPENCV4_CONF_OPTS += -DWITH_EIGEN=ON
+endif
+
 ifeq ($(BR2_PACKAGE_OPENCV4_JPEG2000_WITH_JASPER),y)
 OPENCV4_CONF_OPTS += -DWITH_JASPER=ON
 OPENCV4_DEPENDENCIES += jasper