Opened 11 years ago

Closed 10 years ago

#37276 closed submission (wontfix)

Kinect support in OpenCV: openni-devel (submission), openni-devel-sensorkinect (submission), opencv (enhancement), openni (enhancement)

Reported by: josephhowse@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.1.2
Keywords: Kinect OpenCV OpenNI SensorKinect Cc: stromnov (Andrey Stromnov), ryandesign (Ryan Carsten Schmidt), cooljeanius (Eric Gallager)
Port: openni-devel openni-devel-sensorkinect opencv openni

Description

I have a set of submissions and enhancements that bring Kinect support to OpenCV.

The submissions are:

(1) openni-devel - the unstable branch of OpenNI

(2) openni-devel-sensorkinect - the SensorKinect module for the unstable branch of OpenNI.

The enhancements are to:

(1) opencv - adding a variant, +openni-devel-sensorkinect, and a modified patch file, patch-cmake-OpenCVFindOpenNI.cmake.diff. These are for compilation against openni-devel-sensorkinect.

(2) openni - adding a conflict with openni-devel because they would install conflicting dylibs.

Attachments (23)

patch-Platform-Linux-Build-Common-CommonCppMakefile.2.diff (582 bytes) - added by josephhowse@… 11 years ago.
graphics/openni-devel-sensorkinect/files/patch-Platform-Linux-Build-Common-CommonCppMakefile.diff
patch-Platform-Linux-Build-Common-Platform.x86.2.diff (423 bytes) - added by josephhowse@… 11 years ago.
graphics/openni-devel-sensorkinect/files/patch-Platform-Linux-Build-Common-Platform.x86.diff
patch-Platform-Linux-CreateRedist-install.sh.2.diff (1.1 KB) - added by josephhowse@… 11 years ago.
graphics/openni-devel-sensorkinect/files/patch-Platform-Linux-CreateRedist-install.sh.diff
Portfile-rrdtool.2.diff (399 bytes) - added by josephhowse@… 11 years ago.
graphics/openni/Portfile-rrdtool.diff
Portfile-rrdtool.diff (1.2 KB) - added by josephhowse@… 11 years ago.
graphics/opencv/Portfile-rrdtool.diff
Portfile.2.2 (2.9 KB) - added by josephhowse@… 11 years ago.
graphics/openni-sensorkinect/Portfile
graphics.zip (30.3 KB) - added by josephhowse@… 11 years ago.
All related Portfiles, diffs and patches
Portfile-opencv.diff (812 bytes) - added by josephhowse@… 11 years ago.
graphics/opencv/Portfile-opencv.diff
patch-cmake-OpenCVFindOpenNI.cmake.diff (1.4 KB) - added by josephhowse@… 11 years ago.
graphics/opencv/files/patch-cmake-OpenCVFindOpenNI.cmake.diff
Portfile-openni.diff (394 bytes) - added by josephhowse@… 11 years ago.
graphics/openni/Portfile-openni.diff
Portfile (2.7 KB) - added by josephhowse@… 11 years ago.
graphics/openni-devel/Portfile
patch-Platform-Linux-Build-Common-CommonCppMakefile.diff (582 bytes) - added by josephhowse@… 11 years ago.
graphics/openni-devel/files/patch-Platform-Linux-Build-Common-CommonCppMakefile.diff
patch-Platform-Linux-Build-Common-Platform.x86.diff (423 bytes) - added by josephhowse@… 11 years ago.
graphics/openni-devel/files/patch-Platform-Linux-Build-Common-Platform.x86.diff
patch-Platform-Linux-CreateRedist-install.sh.diff (940 bytes) - added by josephhowse@… 11 years ago.
graphics/openni-devel/files/patch-Platform-Linux-CreateRedist-install.sh.diff
patch-Source-OpenNI-XnOpenNI.cpp.diff (564 bytes) - added by josephhowse@… 11 years ago.
graphics/openni-devel/files/patch-Source-OpenNI-XnOpenNI.cpp.diff
Portfile.3 (2.9 KB) - added by josephhowse@… 11 years ago.
graphics/openni-sensorkinect/Portfile
patch-Platform-Linux-Build-Common-CommonCppMakefile.3.diff (582 bytes) - added by josephhowse@… 11 years ago.
graphics/openni-sensorkinect/files/patch-Platform-Linux-Build-Common-CommonCppMakefile.diff
patch-Platform-Linux-Build-Common-Platform.x86.3.diff (423 bytes) - added by josephhowse@… 11 years ago.
graphics/openni-sensorkinect/files/patch-Platform-Linux-Build-Common-Platform.x86.diff
patch-Platform-Linux-Build-Makefile.diff (437 bytes) - added by josephhowse@… 11 years ago.
graphics/openni-sensorkinect/files/patch-Platform-Linux-Build-Makefile.diff
patch-Platform-Linux-CreateRedist-install.sh.3.diff (1.1 KB) - added by josephhowse@… 11 years ago.
graphics/openni-sensorkinect/files/patch-Platform-Linux-CreateRedist-install.sh.diff
Portfile.2 (28 bytes) - added by josephhowse@… 11 years ago.
Deleted. Ignore this file.
patch-Platform-Linux-Build-Common-CommonCppMakefile.2.diff​ (28 bytes) - added by josephhowse@… 11 years ago.
Deleted. Ignore this file.
patch-Platform-Linux-Build-Common-Platform.x86.2.diff​ (28 bytes) - added by josephhowse@… 11 years ago.
Deleted. Ignore this file.

Download all attachments as: .zip

Change History (33)

Changed 11 years ago by josephhowse@…

graphics/openni-devel-sensorkinect/files/patch-Platform-Linux-Build-Common-CommonCppMakefile.diff

Changed 11 years ago by josephhowse@…

graphics/openni-devel-sensorkinect/files/patch-Platform-Linux-Build-Common-Platform.x86.diff

Changed 11 years ago by josephhowse@…

graphics/openni-devel-sensorkinect/files/patch-Platform-Linux-CreateRedist-install.sh.diff

Changed 11 years ago by josephhowse@…

Attachment: Portfile-rrdtool.2.diff added

graphics/openni/Portfile-rrdtool.diff

Changed 11 years ago by josephhowse@…

Attachment: Portfile-rrdtool.diff added

graphics/opencv/Portfile-rrdtool.diff

comment:1 Changed 11 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:2 Changed 11 years ago by jmroot (Joshua Root)

Cc: stromnov@… ryandesign@… added

Adding opencv and openni maintainers to Cc. (Please remember to Cc maintainers when you create a ticket).

comment:3 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Regarding openni-devel-sensorkinect, the -devel suffix should go at the end (openni-sensorkinect-devel). Is there a reason why we cannot offer a stable version of this port?

The conflicts keyword takes bare port names, not dependency specifiers, so it should be "conflicts openni", etc.

Regarding the opencv patch, we don't typically use the word "devel" in variant names; we don't typically depend on -devel ports, though we can in cases like these where no non-devel port exists. Note that we had an existing request to add an openni variant to the opencv port in #35512. Does this patch satisfy that request?

You've also marked the tbb variant as conflicting with the universal variant. We can do that; I assume you've done this because tbb does not have a universal variant. It would be better to fix the tbb port; see #35990.

Note that "rrdtool" is the name of a port. So the filename "Portfile-rrdtool.diff" shown in the guide was meant to be taken as an example in the hypothetical case where you are submitting a patch for the rrdtool port.

comment:4 Changed 11 years ago by josephhowse@…

Thanks for the feedback. Here is some additional information that might address some of your comments. I'm happy to follow whatever naming convention is appropriate for the ports and variant.

SensorKinect depends on unstable versions of OpenNI (1.5.4.0, 1.5.2.7, 1.4.0.2, etc.).

Note that we had an existing request to add an openni variant to the opencv port in #35512. Does this patch satisfy that request?

we don't typically depend on -devel ports

An +openni variant was already added to opencv in a recent update. The difference between +openni_devel_sensorkinect (my submission) and the existing +openni variant is that +openni_devel_sensorkinect also supports Kinect via SensorKinect. Due to SensorKinect's dependency on an unstable OpenNI version, +openni_devel_sensorkinect depends on openni-devel, whereas +openni depends on (stable) openni.

The conflicts keyword takes bare port names, not dependency specifiers, so it should be "conflicts openni", etc.

Do you mean that "conflicts port:openni" should be "conflicts openni" (in the openni-devel Portfile)? Or is there some problem with the use of "conflicts" in "variant openni_devel_sensorkinect conflicts openni" (in the opencv patch)?

It would be better to fix the tbb port; see #35990.

If the tbb port is being fixed, then, yes, the proposed change to the opencv +tbb variant can be dropped.

comment:5 Changed 11 years ago by cooljeanius (Eric Gallager)

See also issue #37320 for more on updating tbb to fix the problems with OpenCV's +tbb and +universal variants

comment:6 in reply to:  4 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to josephhowse@…:

Note that we had an existing request to add an openni variant to the opencv port in #35512. Does this patch satisfy that request?

An +openni variant was already added to opencv in a recent update.

Oh! Then I'll close that ticket.

The conflicts keyword takes bare port names, not dependency specifiers, so it should be "conflicts openni", etc.

Do you mean that "conflicts port:openni" should be "conflicts openni" (in the openni-devel Portfile)?

Yes, this is what I meant.

Changed 11 years ago by josephhowse@…

Attachment: Portfile.2.2 added

graphics/openni-sensorkinect/Portfile

Changed 11 years ago by josephhowse@…

Attachment: graphics.zip added

All related Portfiles, diffs and patches

comment:7 Changed 11 years ago by josephhowse@…

I've made the following changes:

  1. openni-devel-sensorkinect renamed to openni-sensorkinect
  2. opencv +openni_devel_sensorkinect renamed to opencv +openni_sensorkinect
  3. dropped the modifications to opencv +tbb

Also, the naming scheme of diff files is corrected.

The following attachments (which appear consecutively in the attachments list, above) are the up-to-date ones:

  • graphics.zip​
  • Portfile-opencv.diff​
  • patch-cmake-OpenCVFindOpenNI.cmake.diff​
  • Portfile-openni.diff​
  • Portfile​
  • patch-Platform-Linux-Build-Common-CommonCppMakefile.diff
  • patch-Platform-Linux-Build-Common-Platform.x86.diff​
  • patch-Platform-Linux-CreateRedist-install.sh.diff​
  • patch-Source-OpenNI-XnOpenNI.cpp.diff​
  • Portfile.3​
  • patch-Platform-Linux-Build-Common-CommonCppMakefile.3.diff
  • patch-Platform-Linux-Build-Common-Platform.x86.3.diff
  • patch-Platform-Linux-Build-Makefile.diff​
  • patch-Platform-Linux-CreateRedist-install.sh.3.diff​

Other attachments are outdated and should be deleted by an admin.

Last edited 11 years ago by josephhowse@… (previous) (diff)

Changed 11 years ago by josephhowse@…

Attachment: Portfile-opencv.diff added

graphics/opencv/Portfile-opencv.diff

Changed 11 years ago by josephhowse@…

graphics/opencv/files/patch-cmake-OpenCVFindOpenNI.cmake.diff

Changed 11 years ago by josephhowse@…

Attachment: Portfile-openni.diff added

graphics/openni/Portfile-openni.diff

Changed 11 years ago by josephhowse@…

Attachment: Portfile added

graphics/openni-devel/Portfile

Changed 11 years ago by josephhowse@…

graphics/openni-devel/files/patch-Platform-Linux-Build-Common-CommonCppMakefile.diff

Changed 11 years ago by josephhowse@…

graphics/openni-devel/files/patch-Platform-Linux-Build-Common-Platform.x86.diff

Changed 11 years ago by josephhowse@…

graphics/openni-devel/files/patch-Platform-Linux-CreateRedist-install.sh.diff

Changed 11 years ago by josephhowse@…

graphics/openni-devel/files/patch-Source-OpenNI-XnOpenNI.cpp.diff

Changed 11 years ago by josephhowse@…

Attachment: Portfile.3 added

graphics/openni-sensorkinect/Portfile

Changed 11 years ago by josephhowse@…

graphics/openni-sensorkinect/files/patch-Platform-Linux-Build-Common-CommonCppMakefile.diff

Changed 11 years ago by josephhowse@…

graphics/openni-sensorkinect/files/patch-Platform-Linux-Build-Common-Platform.x86.diff

Changed 11 years ago by josephhowse@…

graphics/openni-sensorkinect/files/patch-Platform-Linux-Build-Makefile.diff

Changed 11 years ago by josephhowse@…

graphics/openni-sensorkinect/files/patch-Platform-Linux-CreateRedist-install.sh.diff

Changed 11 years ago by josephhowse@…

Attachment: Portfile.2 added

Deleted. Ignore this file.

Changed 11 years ago by josephhowse@…

Deleted. Ignore this file.

Changed 11 years ago by josephhowse@…

Deleted. Ignore this file.

comment:8 Changed 11 years ago by josephhowse@…

If anyone has the chance to review this submission soon, that would be great. I am writing an OpenCV book for Packt Publishing and I would like to instruct Mac users to install the opencv +openni_sensorkinect variant from MacPorts.

When reviewing the submission, please see my previous comment about which attachments are still current.

Thanks!

Last edited 11 years ago by josephhowse@… (previous) (diff)

comment:9 Changed 11 years ago by cooljeanius (Eric Gallager)

The update of OpenCV to 2.4.6 with r107771 could have been a good time to add these variants...

comment:10 Changed 10 years ago by mf2k (Frank Schima)

Resolution: wontfix
Status: newclosed

This ticket has too many separate issues and is outdated. Please file separate tickets with updated portfiles for each individual submission and enhancement if you are still interested in this.

Note: See TracTickets for help on using tickets.