计算机视觉的一些算法实现资源 Computer Vision Algorithm Implementations

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

Participate in Reproducible Research

General Image Processing

OpenCV
(C/C++ code, BSD lic) Image manipulation, matrix manipulation, transforms
Torch3Vision
(C/C++ code, BSD lic) Basic image processing, matrix manipulation and feature extraction algorithms: rotation, flip, photometric normalisations (Histogram Equalization, Multiscale Retinex, Self-Quotient Image or Gross-Brajovic), edge detection, 2D DCT, 2D FFT, 2D Gabor, PCA to do Eigen-Faces, LDA to do Fisher-Faces. Various metrics (Euclidean, Mahanalobis, ChiSquare, NormalizeCorrelation, TangentDistance, ...)
ImLab
(C/C++ code, MIT lic) A Free Experimental System for Image Processing (loading, transforms, filters, histogram, morphology, ...)
CIMG
(C/C++ code, GPL and LGPL lic) CImg Library is an open source C++ toolkit for image processing
Generic Image Library (GIL) -  boost integration
(C/C++ code, MIT lic) Adobe open source C++ Generic Image Library (GIL)
SimpleCV a kinder, gentler machine vision library
(python code, MIT lic) SimpleCV is a Python interface to several powerful open source computer vision libraries in a single convenient package
PCL, The Point Cloud Library
(C/C++ code, BSD lic) The Point Cloud Library (or PCL) is a large scale, open project for point cloud processing. The PCL framework contains numerous state-of-the art algorithms including filtering, feature estimation, surface reconstruction, registration, model fitting and segmentation.
Population, imaging library in C++ for processing, analysing, modelling and visualising
(C/C++ code, CeCill lic) Population is an open-source imaging library in C++ for processing, analysing, modelling and visualising including more than 200 algorithms designed by V. Tariel.
qcv
(C/C++ code, LGPL 3) A computer vision framework based on Qt and OpenCV that provides an easy to use interface to display, analyze and run computer vision algorithms. The library is provided with multiple application examples including stereo, SURF, Sobel and and Hough transform.
Machine Vision Toolbox
(MATLAB/C, LGPL lic) image processing, segmentation, blob/line/point features, multiview geometry, camera models, colorimetry.
BoofCV
(Java code, Apache lic) BoofCV is an open source Java library for real-time computer vision and robotics applications. BoofCV is organized into several packages: image processing, features, geometric vision, calibration, visualize, and IO.
Simd
(C++ code, MIT lic) Simd is free open source library in C++. It includes high performance image processing algorithms. The algorithms are optimized with using of SIMD CPU extensions such as SSE2, SSSE3, SSE4.2 and AVX2.
Free but not open source -  ArrayFire (formely LibJacket) is a matrix library for CUDA
(CUDA/C++, free lic) ArrayFire offers hundreds of general matrix and image processing functions, all running on the GPU. The syntax is very Matlab-like, with the goal of offering easy porting of Matlab code to C++/ArrayFire.

Image Acquisition, Decoding & encoding

FFMPEG
(C/C++ code, LGPL or GPL lic) Record, convert and stream audio and video (lot of codec)
OpenCV
(C/C++ code, BSD lic) PNG, JPEG,... images, avi video files, USB webcam,...
Torch3Vision
(C/C++ code, BSD lic) Video file decoding/encoding (ffmpeg integration), image capture from a frame grabber or from USB, Sony pan/tilt/zoom camera control using VISCA interface
lib VLC
(C/C++ code, GPL lic) Used by VLC player: record, convert and stream audio and video
Live555
(C/C++ code, LGPL lic) RTSP streams
ImageMagick
(C/C++ code, GPL lic) Loading & saving DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, TIFF, and more
DevIL
(C/C++ code, LGPL lic) Loading & saving various image format
FreeImage
(C/C++ code, GPL & FPL lic) PNG, BMP, JPEG, TIFF loading
VideoMan
(C/C++ code, LGPL lic) VideoMan is trying to make the image capturing process from cameras, video files or image sequences easier.

Segmentation

OpenCV
(C/C++ code, BSD lic) Pyramid image segmentation
Branch-and-Mincut
(C/C++ code, Microsoft Research Lic) Branch-and-Mincut Algorithm for Image Segmentation
Efficiently solving multi-label MRFs ( Readme)
(C/C++ code) Segmentation, object category labelling, stereo

Machine Learning

Torch
(C/C++ code, BSD lic) Gradient machines ( multi-layered perceptrons, radial basis functions, mixtures of experts, convolutional networks and even time-delay neural networks), Support vector machines, Ensemble models (bagging, adaboost), Non-parametric models (K-nearest-neighbors, Parzen regression and Parzen density estimator), distributions (Kmeans, Gaussian mixture models, hidden Markov models, input-output hidden Markov models, and Bayes classifier), speech recognition tools

Object Detection

OpenCV
(C/C++ code, BSD lic) Viola-jones face detection (Haar features)
Torch3Vision
(C/C++ code, BSD lic) MLP & cascade of Haar-like classifiers face detection
Hough Forests
(C/C++ code, Microsoft Research Lic) Class-Specific Hough Forests for Object Detection
Efficient Subwindow Object Detection
(C/C++ code, Apache Lic) Christoph Lampert "Efficient Subwindow" algorithms for Object Detection
INRIA Object Detection and Localization Toolkit
(C/C++ code, Custom Lic) Histograms of Oriented Gradients library for Object Detection

Re-identification

Context-Aware Object Search and Retrieval
(Matlab) A multi-camera object search and retrieval algorithm using matlab

Object Category Labelling

Efficiently solving multi-label MRFs ( Readme)
(C/C++ code) Segmentation, object category labelling, stereo
Multi-label optimization
(C/C++/MATLAB code) The gco-v3.0 library is for optimizing multi-label energies. It supports energies with any combination of unary, pairwise, and label cost terms.

Optical flow

OpenCV
(C/C++ code, BSD lic) Horn & Schunck algorithm, Lucas & Kanade algorithm, Lucas-Kanade optical flow in pyramids, block matching.
GPU-KLT+FLOW
(C/C++/OpenGL/Cg code, LGPL) Gain-Adaptive KLT Tracking and TV-L1 optical flow on the GPU.
RLOF
(C/C++/Matlab code, Custom Lic.) The RLOF library provides GPU / CPU implementation of Optical Flow and Feature Tracking method.

Features Extraction & Matching

SIFT by R. Hess
(C/C++ code, GPL lic) SIFT feature extraction & RANSAC matching
OpenSURF
(C/C++ code) SURF feature extraction algorihtm (kind of fast SIFT)
ASIFT (from  IPOL)
(C/C++ code, Ecole Polytechnique and ENS Cachan for commercial Lic) Affine SIFT (ASIFT)
VLFeat (formely Sift++)
(C/C++ code) SIFT, MSER, k-means, hierarchical k-means, agglomerative information bottleneck, and quick shift
SiftGPU
A GPU Implementation of Scale Invariant Feature Transform (SIFT)
Groupsac
(C/C++ code, GPL lic) An enhance version of RANSAC that considers the correlation between data points

Nearest Neighbors matching

FLANN
(C/C++ code, BSD lic) Approximate Nearest Neighbors ( Fast Approximate Nearest Neighbors with Automatic Algorithm Configuration)
ANN
(C/C++ code, LGPL lic) Approximate Nearest Neighbor Searching

Tracking

OpenCV
(C/C++ code, BSD lic) Kalman, Condensation, CAMSHIFT, Mean shift, Snakes
KLT: An Implementation of the Kanade-Lucas-Tomasi Feature Tracker
(C/C++ code, public domain) Kanade-Lucas-Tomasi Feature Tracker
GPU_KLT
(C/C++/OpenGL/Cg code, ) A GPU-based Implementation of the Kanade-Lucas-Tomasi Feature Tracker
GPU-KLT+FLOW
(C/C++/OpenGL/Cg code, LGPL) Gain-Adaptive KLT Tracking and TV-L1 optical flow on the GPU
On-line boosting trackers
(C/C++, LGPL) On-line boosting tracker, semi-supervised tracker, beyond semi-supervised tracker
Single Camera background subtraction tracking
(C/C++, LGPL) Background subtraction based tracking algorithm using OpenCV.
Multi-camera tracking
(C/C++, LGPL) Multi-camera particle filter tracking algorithm using OpenCv and intel IPP.

Simultaneous localization and mapping

Real-Time SLAM - SceneLib
(C/C++ code, LGPL lic) Real-time vision-based SLAM with a single camera
PTAM
(C/C++ code, Isis Innovation Limited lic) Parallel Tracking and Mapping for Small AR Workspaces
GTSAM
(C/C++ code, BSD lic) GTSAM is a library of C++ classes that implement smoothing and mapping (SAM) in robotics and vision, using factor graphs and Bayes networks as the underlying computing paradigm rather than sparse matrices

Camera Calibration & constraint

OpenCV
(C/C++ code, BSD lic) Chessboard calibration, calibration with rig or pattern
Geometric camera constraint - Minimal Problems in Computer Vision
Minimal problems in computer vision arise when computing geometrical models from image data. They often lead to solving systems of algebraic equations.
Camera Calibration Toolbox for Matlab
(Matlab toolbox) Camera Calibration Toolbox for Matlab by Jean-Yves Bouguet (C implementation in OpenCV)

Multi-View Reconstruction

Bundle Adjustment - SBA
(C/C++ code, GPL lic) A Generic Sparse Bundle Adjustment Package Based on the Levenberg-Marquardt Algorithm
Bundle Adjustment - SSBA
(C/C++ code, LGPL lic) Simple Sparse Bundle Adjustment (SSBA)

Stereo

Efficiently solving multi-label MRFs ( Readme)
(C/C++ code) Segmentation, object category labelling, stereo
LIBELAS: Library for Efficient LArge-scale Stereo Matching
(C/C++ code) Disparity maps, stereo

Structure from motion

Bundler
(C/C++ code, GPL lic) A structure-from-motion system for unordered image collections
Patch-based Multi-view Stereo Software ( Windows version)
(C/C++ code, GPL lic) A multi-view stereo software that takes a set of images and camera parameters, then reconstructs 3D structure of an object or a scene visible in the images
libmv - work in progress
(C/C++ code, MIT lic) A structure from motion library
Multicore Bundle Adjustment
(C/C++/GPU code, GPL3 lic) Design and implementation of new inexact Newton type Bundle Adjustment algorithms that exploit hardware parallelism for efficiently solving large scale 3D scene reconstruction problems.
openMVG
(C/C++/GPU code, MPL2 lic) OpenMVG (Multiple View Geometry) "open Multiple View Geometry" is a library for computer-vision scientists and especially targeted to the Multiple View Geometry community. It is designed to provide an easy access to the classical problem solvers in Multiple View Geometry and solve them accurately..
TheiaSfM
(C/C++ code, BSD lic) The goal of this library is to provide researchers with an out of the box tool for multi-view reconstruction that can be easily extended. Many common algorithms for pose, feature detection and description, matching, and reconstruction have been implemented.

Visual odometry

LIBVISO2: Library for VISual Odometry 2
(C/C++ code, Matlab, GPL lic) Libviso 2 is a very fast cross-platfrom (Linux, Windows) C++ library with MATLAB wrappers for computing the 6 DOF motion of a moving mono/stereo camera.
from: http://cvpapers.com/rr.html
OpenCV实现SfM(四):Bundle Adjustment 使用Ceres Solver实现三维重建中的Bundle Adjustment. 阅读详情

相关推荐

优化相机姿态和三维点云的Bundle Adjustment算法及其编程实现

重投影误差是指将优化后的相机姿态和三维点云投影到图像平面上,与对应的图像特征点之间的距离。Bundle Adjustment(捆绑调整)是一种用于同时优化相机姿态和三维点云的算法,它可以提高三维重建和相机定位的精度。下面是一个简单的Python示例代码,演示了如何使用Bundle Adjustment算法优化相机姿态和三维点云的参数。通过以上步骤,Bundle Adjustment算法可以不断地优化相机姿态和三维点云的参数,从而提高重建和定位的精度。Bundle Adjustment算法的编程实现

CyberXZ的博客 716

Machine-Vision-for-TensorFlow-2.x-:有关的源代码和数据集-tensorflow source code

<机器视觉之TensorFlow:入门,原理与应用实战>一书原始码 关于<TensorFlow>的源代码和数据集 提示:本工程中只有二进制文件,配套代码所对应的数据集资源太大,请访问www.aianaconda.com进行下载 #目录说明

CV中的Paper:

作者:禅与计算机程序设计艺术 1.简介 ​ 本文将带领读者了解相关的CV中重要的paper以及其原理,应用及注意事项。其中包括两篇基础的paper,一是Mask R-CNN,二是YOLO v3。 2.基本概念及术语介绍 ​

AI天才研究院 613

CVPapers - Computer Vision Resource计算机资源

计算机视觉资源 算法 常用库 数据集 论文检索

kintzhao 1652

ceres实现针孔相机bundle adjustment

参考ceres的tutorial http://ceres-solver.org/nnls_tutorial.html#bundle-adjustment 实现针孔相机bundle adjustment 主要工作如下: (1)生成理想观测数据 (2)将生成理想的数据作为BD的输入源 (3)将投影模型改为无畸变的针孔模型 #include &amp;lt;ros/ros.h&amp;gt; #include &amp;lt...

沧海一帆的专栏 2083

计算机视觉资源 Computer Vision Open Source Algorithm Implementations Participate in Reproducible Research

http://www.cvpapers.com/index.html Computer Vision Algorithm Implementations  Home  Changelog  RSS  Twitter If you have additions or changes, send an e-mail (remove the "nospam").

STELLAR0的专栏 3187

机器视觉算法实现链接,很全很好!(Computer Vision Algorithm Implementations

发现一个很好的网站,提供了各种机器视觉算法实现的链接地址,Computer Vision Algorithm Implementations,而且从该网站上这里还可以免费下载最新的机器视觉顶级会议的论文以及视频等,包括CVPR,ICCV,ECCV等,虽然有一些论文好像没资源了,不过总的还是很cool!

吉宝力--K.I.S.S.(Keep It Simple Software) 2217

Computer Vision Algorithm Implementations

http://www.cvpapers.com/rr.html Computer Vision Algorithm Implementations Home Changelog RSS Twitter If you have additions or changes, send an e-mail (remove the "nospam"). This materia...

weixin_33738982的博客 227

High-Resolution Image Synthesis with Latent Diffusion Models 基于潜在扩散模型的高分辨率图像合成

Robin Rombach 1 * Andreas Blattmann1 * Dominik Lorenz 1 Patrick Esser ® Björn Ommer 1 1 Ludwig Maximilian University of Munich & IWR, Heidelberg University, Germany ° Runway ML慕尼黑路德维希-马克西米利安大学 & 德国海德堡大学 IWR ° Runway MLhttps://github.com/CompVis/latent-diff

u013250861的博客 85

Transformer 时代的语言模型:大规模语言模型的发展脉络与技术演化

本文梳理了Transformer时代大规模语言模型(LLMs)的技术演进脉络。从2017年Transformer架构的提出开始,重点分析了关键技术创新:双向编码器BERT通过掩码语言建模实现深度理解;GPT-3证明模型规模与提示工程的协同效应;InstructGPT引入人类反馈强化学习(RLHF)实现指令对齐;LLaMA通过数据规模优化突破参数量限制;FlashAttention通过IO感知优化解决长序列处理瓶颈;LoRA和量化技术实现模型高效微调与部署;RAG架构扩展模型知识边界;智能体技术从工具调用发展

qq_44768937的博客 494

High-Resolution Image Synthesis with Latent Diffusion Models # 基于潜在扩散模型的高分辨率图像合成

Robin Rombach 1 * Andreas Blattmann1 * Dominik Lorenz 1 Patrick Esser ® Björn Ommer 1 1 Ludwig Maximilian University of Munich & IWR, Heidelberg University, Germany ° Runway ML慕尼黑路德维希-马克西米利安大学 & 德国海德堡大学 IWR ° Runway MLhttps://github.com/CompVis/latent-diff

u013250861的博客 57

手写BundleAdjustment(尽量仅使用eigen库)

手写BundleAdjustment 使用手写BA解决了PnP问题,除了读取图片、显示图片用的opencv,其他基本上只使用了eigen、sophus。 代码放在了百度云上(github还在研究怎么用,以后可能会上) 链接:https://pan.baidu.com/s/1CBJMKXGeelBSuJUuk7E1mw 提取码:br5o 文章目录手写BundleAdjustment一、总览二、搭建各种数据结构1.存储一个关键点信息的KeyPoint类型2.存储匹配情况的Match类型三、构建一些方法,即算

jiny_yang的博客 2449

光束平差法(Bundle Adjust)

光束平差法 代价函数 代价函数求解-Levenberg_Marquardt方法 代码实现 流程图光束平差法采用光束平差法对射影空间下的多个相机运动矩阵及非编码元三维结构进行优化。光束平差法一般在各种重建算法的最后一步使用。这种优化方法的最大特点是可以处理数据丢失情况并提供真正的最大似然估计。代价函数argminPi,Mi∑i=1k∑j=1nvijd(Q(Pj,Mi),mij)2\mathop{arg

把习惯当成一种生活 1万+

Bundle Adjustment原理及应用(附实战代码)

点击上方“3D视觉工坊”,选择“星标”干货第一时间送达虽然现在的轮子很多,但我们在使用过程中会碰到很多问题,而我们经常不知道从哪里下手,说明轮子不是你造的你不熟悉。因此我们不仅要重复造轮...

3D视觉工坊 2768

手推 Bundle Adjustment(2)--根据两幅图像进行位姿优化的C++实现

需要使用的第三方库: opencv Eigen3 Sophus 解决问题:根据两幅RGB图像和对应的深度图像,通过特征点匹配+PnP估计变化的位姿,然后在通过Bundle Adjustment来优化位姿。 ...

二毛的博客 5003

视觉理论与实践7-后端

视觉SLAM理论与实践7-后端一、Bundle Adjustment二、直接法的Bundle Adjustment 一、Bundle Adjustment 1.1 文献阅读 我们在第五讲中已经介绍了Bundle Adjustment,指明它可以⽤于解PnP 问题。现在,我们又在后端中说明了它可以⽤于解⼤规模的三维重构问题,但在实时SLAM 场合往往需要控制规模。事实上,Bundle Adjustm...

whut_chengjun的博客 1295

基于eigen实现 bundle adjustment

纯粹是演示性代码,用于展示BA过程,没有做稀疏矩阵相关的优化 #include <iostream> #include <opencv2/opencv.hpp> #include <opencv2/features2d/features2d.hpp> #include <opencv2/highgui/highgui.hpp> #include &l...

haithink的专栏 661

机器视觉软件开发的多样性

3 、加拿大 MIL---------------------加拿大的Matrox Imaging Library(缩写为MIL)8、美国 NI Vision-------------------美国国家仪器(NI)公司,基于LabVIEW。1、 美国 Opencv------------------支持的C++,C#等等开发语言。2 、德国 Halcon-------------------德国 Mvtec 公司。10、美国 IM------------------------开源库。

zx132413的博客 1224

CVPapers论文整理工具-开源

一、运行实例 相信计算机视觉领域的同道中人都知道这个Computer Vision Resource网站, http://www.cvpapers.com/  网页部分截图如下: 可以看到有太多论文集,比如CVPR2013年就有472篇,自己写了一个小工具,用来筛选感兴趣的论文 运行界面如下: 输入论文集网址和自己感兴趣的领域点击提交即可,其中关键字可以输入多个,然后程

求知若饥,知行合一 5172
上一篇: 优秀且免费的照片库
下一篇: Recognizing and Localizing Endangered Right Whales with Extremely Deep Neural Networks
GarfieldEr007
博客等级 码龄15年 7479粉丝 461原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值