. net OpenCV包装器值得使用吗?
Are .Net OpenCV wrappers worth using?
所以我们在大学有这个图像处理课程,我们将广泛使用OpenCV。问题是,OpenCV使用c++,但我对c#比c++更熟练。我知道有OpenCV的包装器(OpenCVDotNet, SharperCV, EmguCV,…)但是我不知道该选哪个。
我的问题是
- 哪一个封装了大部分/所有的OpenCV功能?
- 它们值得使用吗?(可能不经常更新,缺乏功能或速度,…) 或者我应该更好地刷我的c++技能?
注意:我知道我的问题可能是这个问题的副本,但它是旧的(从2008年开始),事情可能已经改变了
我没有使用EmguCV,但我已经使用OpenCV一段时间了。
摘自SharperCV的网站:
Emgu CV。如果你想使用OpenCV, Net包装器是我们目前的推荐。
而且,OpenCVDotNet看起来更像是一个学术沙箱,所以如果是我,我会在任何涉及c#的研究项目中使用EmguCV。主要是因为它正在被积极维护,并且它具有当今可用包装器中最多的功能。
我试过EmguCV。它支持的功能范围很好。但如果你的项目是一个速度问题,那么你最好温习一下你的c++技能。
我不太了解其他的包装。我也经历过和你一样的处境。我在学习期间使用过emgucv,在我的专业领域不得不转向c++。
相信我,你不会发现转换到c++太难了。
作为更新,我可以证实前面给出的答案。
我在研究和工作中都使用过OpenCV + c++和EMGU Wrapper,我部分同意大多数人的观点。
EMGU CV可以很容易学习,你的代码将更容易理解,它将需要更少的代码行,有一个体面的函数范围,你可以调用。但这还不完整。
许多函数将不提供所有最初预期的功能,你会发现与OpenCV 3.0,例如FindNonZero()不完全相同的功能,包装和SetValue()给了我一个很难抛出运行时错误难以调试。
另一方面,OpenCV提供了比你在网上找到的任何其他包装器更好的支持,你将使用最新的库。OpenCV 3.1是一个很棒的版本,我发现在Xcode或Visual Studio上运行它没有任何问题。
因此,我建议任何想要沉浸在计算机视觉和图像处理中的人直接使用OpenCV c++。如果你只想处理不那么复杂的问题,你可以选择EMGU(我不能推荐其他的,因为我不熟悉)。
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 尝试导入pybind-opencv模块时出现libgtk错误
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- OpenCV EqualizeHist()从彩色图像创建黑白图像
- 将OpenCV C++重写为EmguCV C#-如何使用指针
- OpenCV C++.快速计算混淆矩阵
- 在C++代码中包含opencv时,使用ctypes创建.so文件
- 哪些库可以通过Opencv调整曝光率
- 安装opencv失败-粘贴CMakeError.log的内容
- C++中的openCV Mat访问冲突
- OpenCV Android C++ imwrite not found
- 未定义的引用 .. 使用 OpenCV 编译 C++ 代码时,从命令行
- 将 OpenCV 与 CMAKE 中的项目一起构建为第三方库的正确方法
- CV_OCL_RUN宏如何在OpenCV(版本3.4.5)的goodFeaturesToTrack实现中工作?
- OpenCV 4.1.2 - 从网络摄像头获取帧并将其拆分
- C++ OpenCV 卡尔曼滤波器构造函数错误
- 使用OpenCV和覆盆子上的多个网络摄像头拍摄延时摄影,出现多个V4L错误
- 是否值得降低我的代码的可读性,以便在出现内存不足错误时提供异常安全性?
- . net OpenCV包装器值得使用吗?