Ask Your Question
5

Is anyone responsible for the OpenCV NuGet package?

asked 2013-09-18 07:37:29 -0600

glopes gravatar image

updated 2013-10-01 06:47:55 -0600

Hi all,

I was thinking of uploading a cross-language (C++/C#) OpenCV development package to NuGet when I found that there was already an OpenCV package uploaded. Besides being horribly outdated (v2.3.1), it doesn't even seem to follow NuGet guidelines enough that I can install it. It also has no integration with Visual Studio targets for setting up the development environment. The link to contact the package authors tells me they don't want to be contacted and the project page points to the official OpenCV site.

If no one claims ownership of this package, I will report the package as abusive on the NuGet website. If anyone at OpenCV wants to take care of the official NuGet package let me know and we can coordinate how to make this happen.

For those of you who may not be aware, NuGet just recently added support for native packages. The advantage of this is that it has the potential to make using OpenCV from inside Visual Studio literally a snap.

Just hit "Manage NuGet packages" -> Install OpenCV and you're done! You can start writing code, adding include files and build the project without even touching the project properties. The package does everything for you which is one of the sleekest ways I've seen of getting OpenCV up and running. The package I've been working on also supports both C++ and C# (in the latter it makes sure the DLLs are copied to the project output so they can be used by C# bindings).

Let me know what your thoughts are on this. I'm happy to take care of this for you guys if you don't want to lose time on it, but I really think this will be an important step for OpenCV on windows.

UPDATE (NUGET PRERELEASE): I've finally managed to contact the original owner of the NuGet package. He agreed to share write permissions so I could push a pre-release version with native support. You can find this new package in the NuGet gallery. Feel free to try it out by just creating a new C++ project on Visual Studio 2012, hitting "Manage NuGet packages" and installing the 2.4.6-nuget prerelease version of OpenCV. After installing you should be able to immediately start writing code, build your project and run it under either x86 or x64 platforms. I'll be test-driving this pre-release for at least a week, so please let me know of any issues/suggestions you encounter with the package.

Thanks!

edit retag flag offensive close merge delete

Comments

This could be very good.

Tony Henrique gravatar imageTony Henrique ( 2013-09-18 08:07:24 -0600 )edit

Very interesting. I didn't know OpenCV could be use with C#. In fact, I'm using EmguCV for a year because it was the only interesting wrapper at that moment. Is there something made officialy by the openCV group?

Jean-François Côté gravatar imageJean-François Côté ( 2013-09-18 08:59:04 -0600 )edit

Not official, but I've prereleased a C# interface you can get from NuGet here: https://www.nuget.org/packages/OpenCV.Net/3.0.0-alpha. More details in this post: http://answers.opencv.org/question/18864/c-official-bindings-roadmap/

glopes gravatar imageglopes ( 2013-09-18 10:51:47 -0600 )edit

I will give it a try! Nice :)

Jean-François Côté gravatar imageJean-François Côté ( 2013-09-23 10:04:13 -0600 )edit

@glopez, just curious, - is the src code available somewhere ? ( apart from nuget, not on a win box atm )

berak gravatar imageberak ( 2013-09-25 05:01:29 -0600 )edit

You can find the official project webpage here, which includes source code for the whole wrapper: https://bitbucket.org/horizongir/opencv.net

glopes gravatar imageglopes ( 2013-09-26 18:24:48 -0600 )edit

it's a bit sad though, that it wraps the outdated c-api only.

berak gravatar imageberak ( 2013-10-01 06:58:11 -0600 )edit
1

Yeah, unfortunately c++ does not usually play well with other languages. My first goal was to get a fully-featured C api wrapper out there with a BSD-style license, and then move on to develop C++ support. This will likely involve one of two routes: 1. either automatically generate the C interface from the new C++ API (mentioned in this post) or 2. use C++/CLI to directly generate the .NET wrapper; right now the latter has the disadvantage that it doesn't support Mono, but there's efforts underway to change this.

glopes gravatar imageglopes ( 2013-10-01 08:01:56 -0600 )edit

I found that the "opencv" package installs without binaries, The more recent "opencv3" package on the other hand does include binaries, and I must say the whole experience is pretty good. I think it took about 20 seconds to install.

https://www.nuget.org/packages/OpenCV3/

One issue I still have is that the libraries have been compiled with the v120 Platform Toolset. The lab I teach in only has VS 2015; which would ideally use v140. I then find that a "Release" build runs fine, but a "Debug" build fails to execute, due to the absence of msvcp120d.dll.

pgk gravatar imagepgk ( 2015-11-25 10:20:29 -0600 )edit

@pgk, again, there's no official support for this, you will have to contact the maintainer, glopes

berak gravatar imageberak ( 2015-11-25 10:28:51 -0600 )edit

1 answer

Sort by » oldest newest most voted
1

answered 2013-09-26 01:50:28 -0600

This package is not supported by OpenCV development team.

edit flag offensive delete link more

Comments

Thanks for the heads up. I've included the link to this question on the NuGet moderator report so hopefully they'll take this into account. Let me know if anyone from the team would like to try the OpenCV NuGet install experience with my test package. I was really delightfully surprised by how easy it is.

glopes gravatar imageglopes ( 2013-09-26 18:28:07 -0600 )edit

Question Tools

Stats

Asked: 2013-09-18 07:37:29 -0600

Seen: 8,224 times

Last updated: Oct 01 '13