![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
opencv
cheng.li@3D_Vision
B站讲解摄影测量和三维重建
欢迎交流摄影测量与slam!
B站:橙子的RGB空间
展开
-
图像拼接—SIFT+Flann匹配+估计单应矩阵—(全景图panorama)
开发环境:python+opencv3 笔者拼接图像的步骤如下: step1: 利用特征算子检测并描述,常见的特征算子在cv2.xfeatures2中都有,比如角点harris,斑点surf,sift等,这些算子的原理不再过多阐述。 step1:对于描述子,要进行匹配,在cv2中匹配可以是暴力匹配也可以选择flann,这是优化过的匹配算法,至于暴力匹配就是sift 的作者lowe 提出的NN原创 2018-01-23 17:49:07 · 4811 阅读 · 5 评论 -
Scipy 和opencv 计算凸包(convexHull)
凸包:在数学中,在实向量空间V中的一组点X的凸包或凸包络是包含X的最小凸集。来自Wikipedia。通俗的来说就是包围一组散点的最小凸边形。在scipy.spatial 和opencv 分别有计算凸包的函数,scipy中convexHull输入的参数可以是m*2的点坐标。其返回值的属性.verticess是所有凸轮廓点在散点(m*2)中的索引值。注意:属性.verticess绘制出来的轮廓点是按照...原创 2018-04-13 15:58:03 · 14321 阅读 · 2 评论 -
opencv 追踪算法
追踪的目的是在当前帧找到前一帧确定的对象。因为我们要在当前帧确定其对象位置,因此我们需要知道它是如何运动的,换句话说,需要知道运动模型参数。 如果对象非常简单且没有什么外貌上的变化,我们可以使用模板匹配。但是现实并未如此,当前模型可能随时随地变换(如人脸,你可能下一秒变成侧脸)。 Opencv中集成了诸多算法,随着其不断更新,算法的种类也越来越多,3.3版本的算法种类是6种-BOOSTING,...原创 2018-04-24 19:40:47 · 2949 阅读 · 0 评论 -
Opencv--不规则物体检测
如图所示,一副不规则物体离散分布的灰度图,要想检测并标记。需要以下步骤: 1、 二值化,这个过程很简单def thresh_img(img): if img.ndim==3: img=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) img=cv2.medianBlur(img,3) _,thresh=cv2.thresh...原创 2018-05-26 16:05:22 · 6417 阅读 · 0 评论 -
图像的异或操作和寻找图像局部最大值
首先介绍图像的异或操作,其可以用八个字概括:相同为假,相异为真。 如下: A=array([[ True, True, True], [ True, False, True], [ True, True, True]], dtype=bool) B=array([[ True, True, True], [ True, Tru...原创 2018-05-28 18:00:05 · 7520 阅读 · 1 评论 -
传统方法眼角定位和dilb 进行疲劳检测(眨眼检测)
安装第三方库文件opencv Dlib,安装方法见https://www.learnopencv.com/install-opencv-3-and-dlib-on-windows-python-only/ Numpy Imutils (一系列使得opencv 便利的功能,包括图像旋转、缩放、平移,骨架化、边缘检测、显示matplotlib 图像(imutils.opencv2matpl...原创 2018-08-14 09:57:50 · 4362 阅读 · 1 评论