jiafeng5513 / Evision
计算机视觉实践和探索/Practice and explorations in computer vision.
Stars: ✭ 268
Projects that are alternatives of or similar to Evision
Opencv Mingw Build
👀 MinGW 32bit and 64bit version of OpenCV compiled on Windows. Including OpenCV 3.3.1, 3.4.1, 3.4.1-x64, 3.4.5, 3.4.6, 3.4.7, 3.4.8-x64, 3.4.9, 4.0.0-alpha-x64, 4.0.0-rc-x64, 4.0.1-x64, 4.1.0, 4.1.0-x64, 4.1.1-x64, 4.5.0-with-contrib
Stars: ✭ 401 (+49.63%)
Mutual labels: opencv, qt
Cmake Templates
Some CMake Templates (examples). Qt, Boost, OpenCV, C++11, etc 一些栗子
Stars: ✭ 368 (+37.31%)
Mutual labels: opencv, qt
Toggldesktop
Toggl Desktop app for Windows, Mac and Linux
Stars: ✭ 1,663 (+520.52%)
Mutual labels: qt, wpf
Anms Codes
Efficient adaptive non-maximal suppression algorithms for homogeneous spatial keypoint distribution
Stars: ✭ 174 (-35.07%)
Mutual labels: opencv, qt
Imagefeaturedetector
A C++ Qt GUI desktop program to calculate Harris, FAST, SIFT and SURF image features with OpenCV
Stars: ✭ 112 (-58.21%)
Mutual labels: opencv, qt
Qt 5 And Opencv 4 Computer Vision Projects
Qt 5 and OpenCV 4 Computer Vision Projects, published by Packt
Stars: ✭ 72 (-73.13%)
Mutual labels: opencv, qt
Graphicsprogramming
Demos related to OpenGL, Qt/QML, OpenCV and other X technologies.
Stars: ✭ 83 (-69.03%)
Mutual labels: opencv, qt
Autoannotationtool
A label tool aim to reduce semantic segmentation label time, rectangle and polygon annotation is supported
Stars: ✭ 113 (-57.84%)
Mutual labels: opencv, qt
Live Video Magnification
An OpenCV/Qt based realtime application for Eulerian Video Magnification / Motion Magnification. Works with multiple videos and cameras at the same time and let's you export the magnified videos.
Stars: ✭ 187 (-30.22%)
Mutual labels: opencv, qt
Project lemonlime
为了 OI 比赛而生的基于 Lemon + LemonPlus 的轻量评测系统 | 三大桌面系统支持
Stars: ✭ 255 (-4.85%)
Mutual labels: qt
Picview
Fast Picture Viewer with compact UI, that can be hidden. Features image effects, galleries, image info and more. The app can automatically adjusts itself to your screen.
Stars: ✭ 259 (-3.36%)
Mutual labels: wpf
Pedestrian detection
通过HOG+SVM训练进行行人检测,行人数据库使用INRIAPerson,程序基于OpenCV实现
Stars: ✭ 253 (-5.6%)
Mutual labels: opencv
Dynamicfusion
Implementation of Newcombe et al. CVPR 2015 DynamicFusion paper
Stars: ✭ 267 (-0.37%)
Mutual labels: opencv
Evision 双目视觉系统
如果您觉得有帮助,请为该项目点star.以便于及时收到最新更新.
重要提示:当前master分支的目标检测功能处于维护状态,CMake中的开关默认已经关闭,请及时关注最新进展.
Introduction:
- 双目系统的标定,畸变校正,视差,三维重建,距离测量等.
- 基于Yolo的实时目标检测.
- ELAS,ADCensus视差算法.
- 关于双目的中文资料重复度太高,希望各位后来者能够吸取前人精华,摒弃前人的糟粕,多多自行探索,不要抄来抄去
- 关于程序的BUG,以及其他困惑,请使用issues,或联系邮件[email protected]
- 轻量版正在开发,请查看作者的GitHUb仓库并搜索"EvisionLight",未来Evision会采用ImgUI作为界面,不再基于Qt,以提供更方便的安装体验,并提高运行效率.
资助作者
目录
- Introduction:
- 资助作者
- 目录 - 1.Dependencies - 2.Directory_specification - 3.build - 4.Deprecated_Version - 5.双目设备 - 6.参考文献 - 7.未来计划
1.Dependencies
- Qt :5.13.2.
- OpenCV : 4.1.2.
- (可选的)PCL 1.9.1(不使用PCL,将不能使用Evision3dViz和保存点云的功能).
- (可选的)CUDA 10.2(不使用CUDA,将无法使用目标检测模块).
- (可选的)NVIDIA显卡.
- Windows(test pass) or Ubuntu(build pass).
2.Directory_specification
-
data
文件夹存储测试用例.
-
doc
文件夹中存储的是文档和文档中所用的图片等资源,提供了本项目使用的一些算法相关的论文.
-
package
文件夹存储项目所需的依赖.
-
props
中存储的是属性表
-
scripts
文件夹存储编译脚本.
-
src
文件夹中存放代码文件.
-
legacy
文件夹中存放的是一些有一定保留价值的弃用模块.
-
scripts
是作者开发期间使用的,对于使用者没有实际意义.
-
package
中含有pthread的window版本,将会在未来改为使用CMake管理.
3.build
-
笔者使用CMake 3.15构建Visual Studio解决方案,并使用Visual Studio 2019完成开发.
-
使用CLion的用户需要自行编辑
src/CMakeLists.txt
以指定相关依赖的路径. -
master分支的最新版仅保证windows上编译成功并正常运行,理论上支持Linux.
-
Evision目前由多个模块组成:
模块名 功能 是否具有UI 输出目标 1 EvisionADCensus ADCensus视差算法 无 动态链接库 2 EvisionElas Elas视差算法 无 动态链接库 3 EvisionPnP PnP 无 动态链接库 4 EvisionObjDetection 目标检测UI 有 动态链接库 5 EvisionObjDetectionEngine 目标检测算法 无 动态链接库 6 EvisionMonocularCalib 单目标定 有 动态链接库 7 EvisionPolyTracker 单目几何体追踪 有 动态链接库 8 EvisionCalibrate 双目标定 有 动态链接库 9 EvisionDisparity 视差(立体匹配) 有 动态链接库 10 EvisionTrace 交互式测量 有 动态链接库 11 EvisionUndistortion 畸变校正 有 动态链接库 12 EvisionCamera 单目和双目相机功能 有 动态链接库 13 EvisionCloudViewer 三维点云查看 有 动态链接库 14 EvisionParamBridge 外部参数传递 有 动态链接库 15 EvisionUtils 通用工具类 无 动态链接库 16 EvisionSandbox 主程序UI 有 可执行程序 -
build方案:
-
./src/
目录下面含有的CMakeLists.txt,Evision基于CMake3.15编写,请使用版本大于等于3.13.X的CMake.
- Evision是只能工作在64位下,另外如果您不是很熟悉CMake,推荐使用CMake GUI.
- 在CMake GUI中打开ObjectDetection和PointCloudViewer的开关,就会build目标检测和点云显示模块,并会询问相关的依赖路径.
- Evision依赖Qt和OpenCV,请正确安装并设置环境变量;此外如果开启了ObjectDetection,需要安装CUDA(版本不低于10.0),如果开启了PointCloudViewer,需要安装PCL
-
4.Deprecated_Version
- MFC版本.演示视频.
基于邹宇华老师的StereoVision编写.如有需要推荐访问邹宇华老师原版或者在本项目的Release中寻找,由于使用的依赖较为陈旧,强烈不建议继续使用或进行二次开发.
- CvLabMain和CvLabSandbox(C#版本)
- CvLabMain是用WPF框架写的.
- CvLabSandbox是用WinFrom写的.
- Docking风格MDI界面
- 使用MVP设计模式,交互基于双向数据绑定
- 运行时为
.NET 4.6.1
,依赖采用Nuget下载
- packages:
1.AForge.2.2.5
2.AForge.Video.2.2.5
3.AForge.Video.DirectShow.2.2.5
4.EMGU.CV.3.3.0.2824
5.cskin.16.1.14.3
6.WeifenLuo.WinFormsUI.Docking.2.1.0
7.ZedGraph.5.1.5
- CvLabMain是用WPF框架写的.
5.双目设备
- 需要注意的是,视差效果,点云效果和精度和设备关系非常大,图片的分辨率越高,光照条件越好,畸变越小,一致性越好,最终效果也就越好.此外,两个相机的距离(基线长度)会影响系统的有效范围,一般来讲,基线越长的双目系统越容易获取远处目标的视差,延长基线能够一定程度上(因为有效距离和相机的焦段也有关)将系统的有效范围拉得更远,但同时,基线越长,盲区(距离相机过近的目标不会同时出现在两个视野中)也越大.
- 推荐的双目系统:
- ZED/RealSense/MYNTEYE小觅相机.这是成熟(昂贵)的商业产品,出厂带有高精度的标定数据和功能强大的SDK,而且还带有IMU,IR主动光学等辅助设备,适合做SLAM,笔者认为购买这类相机是最节约时间成本的方法.
- 双目开发板.淘宝上有很多这类产品,价格比ZED那类便宜很多,同时他们带的SDK也要更简陋,有些甚至只支持UVC协议没有SDK,但是他们至少能够控制两侧相机同时拍照,同时基线是固定的,能免去一些麻烦,需要注意的是,这种开发板大多数会输出一张左右视图拼在一起的图片
- 两个工业相机组装.这种方案并不便宜,但是比较自由,可以自己调整基线和光轴指向.
- USB相机组装.这是最便宜的方案,只要买两个一样的USB相机,然后想办法把他们固定起来就可以了,但是便宜的USB相机画质比较有限,噪点比较多,而且无法控制两个相机同时拍照,再加上有效距离比较有限,会很大程度上限值效果,此外,由于两个相机固定的不稳定等原因可能出现移动,这会使标定失效,或者由于标定过程中的滑动直接导致标定失败.作者建议,在经济条件允许的情况下,尽量不要采用这种方案
- ZED/RealSense/MYNTEYE小觅相机.这是成熟(昂贵)的商业产品,出厂带有高精度的标定数据和功能强大的SDK,而且还带有IMU,IR主动光学等辅助设备,适合做SLAM,笔者认为购买这类相机是最节约时间成本的方法.
6.参考文献
- 相机标定+畸变矫正
- DarkNet
- DarkNet_Windows
- StdoutRedirector
- ADCensus论文阅读笔记
- ADCensus阅读笔记2
- 邹宇华CSDN
- 浅墨CSDN
- Mei X, Sun X, Zhou M, et al. On building an accurate stereo matching system on graphics hardware[C]//2011 IEEE International Conference on Computer Vision Workshops (ICCV Workshops). IEEE, 2011: 467-474.
- Geiger, Andreas, Martin Roser, and Raquel Urtasun. "Efficient large-scale stereo matching." Asian conference on computer vision. Springer, Berlin, Heidelberg, 2010.
- Zhang K, Fang Y, Min D, et al. Cross-scale cost aggregation for stereo matching[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2014: 1590-1597.
- Martull, Sarah, Martin Peris, and Kazuhiro Fukui. "Realistic CG stereo image dataset with ground truth disparity maps." ICPR workshop TrakMark2012. Vol. 111. No. 430. 2012.
- Hirschmuller H. Stereo processing by semiglobal matching and mutual information[J]. IEEE Transactions on pattern analysis and machine intelligence, 2008, 30(2): 328-341.
- 视差算法
- warpped libelas with opencv and used pangolin as GUI
7.未来计划
-
参考.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].