1 | initial version |
Unfortunately we don't have plans to release C# support in the 3.0 release, because nobody is working on it. So, you should probably continue to use EmguCV. It is not "official" wrapper, but it seems it is stable enough, and has good support.
And here is some more information about the C# in the OpenCV. There was an attempt to enable use of OpenCV from Mono/.NET, see https://github.com/Itseez/opencv/pull/604. This is not merged, since it needs some improvements, but may be guys will finish it by the 3.0 release. It is not exactly what is asked, but it actually allows call OpenCV from C#.
And I think that we'll have "simple wrapper", simply because we don't want to have/maintain 2 versions of API. All OpenCV wrappers are autogenerated from C++ one, and this is good.
Of course in some languages [almost] everything is a class, like in Java or C#. And yes, in Java we have Core and Imgproc classes, that encapsulate free functions. We'll have something like that in C#. But we will not design a separate hierarchy of classes for every language, otherwise it will be impossible to maintain (keep aligned with evolving default C++ API).
Finally, OpenCV itself will become more object-oriented (in some sense). You're probably familiar with the cv::Algorithm
concept, and all the new functionality will likely be organized this way. The library will remain flat, no deep nested namespaces and class hierarchies, but all high-level algorithm will be classes. We hope that such design will simplify the library usage, and it will be reflected in the wrappers.
2 | No.2 Revision |
Unfortunately we don't have plans to release C# support in the 3.0 release, because nobody is working on it. So, you should probably continue to use EmguCV. It is not an "official" wrapper, but it seems that it is stable enough, and has it provides good support.
And here is some more information about the C# in the support in OpenCV. There was an attempt to enable the use of OpenCV from Mono/.NET, see https://github.com/Itseez/opencv/pull/604. This is not wasn't yet merged, since it needs some improvements, but guys may be guys will finish it by the 3.0 release. It is not exactly what is asked, but it actually allows you to call OpenCV from C#.
And I think that we'll have "simple wrapper", simply because we don't want to have/maintain 2 two versions of API. All OpenCV wrappers are autogenerated from the C++ one, and this is good.
Of course in some languages [almost] everything is a class, like in Java or C#. And yes, in Java we have Core and Imgproc Core
and Imgproc
classes, that encapsulate free functions. We'll have something like that in C#. But we will not design a separate hierarchy of classes for every language, otherwise it will be impossible to maintain (keep aligned with evolving default C++ API).
Finally, OpenCV itself will become more object-oriented (in some sense). You're probably familiar with the cv::Algorithm
concept, and all the new functionality will likely be organized this way. The library will remain flat, no deep nested namespaces and complicated class hierarchies, but all high-level algorithm algorithms will be classes. We hope that such design will simplify the library usage, and it will be reflected in the wrappers.
3 | Fixed pull request link |
Unfortunately we don't have plans to release C# support in the 3.0 release, because nobody is working on it. So, you should probably continue to use EmguCV. It is not an "official" wrapper, but it seems that it is stable enough, and it provides good support.
And here is some more information about the C# support in OpenCV. There was an attempt to enable the use of OpenCV from Mono/.NET, see https://github.com/Itseez/opencv/pull/604. https://github.com/Itseez/opencv/pull/604 . This wasn't yet merged, since it needs some improvements, but guys may finish it by the 3.0 release. It is not exactly what is asked, but it actually allows you to call OpenCV from C#.
And I think that we'll have "simple wrapper", simply because we don't want to have/maintain two versions of API. All OpenCV wrappers are autogenerated from the C++ one, and this is good.
Of course in some languages [almost] everything is a class, like in Java or C#. And yes, in Java we have Core
and Imgproc
classes, that encapsulate free functions. We'll have something like that in C#. But we will not design a separate hierarchy of classes for every language, otherwise it will be impossible to maintain (keep aligned with evolving default C++ API).
Finally, OpenCV itself will become more object-oriented (in some sense). You're probably familiar with the cv::Algorithm
concept, and all the new functionality will likely be organized this way. The library will remain flat, no deep nested namespaces and complicated class hierarchies, but all high-level algorithms will be classes. We hope that such design will simplify the library usage, and it will be reflected in the wrappers.