Computer Vision
good-destiny
这个作者很懒,什么都没留下…
展开
-
opencv录制视频
使用笔记本的摄像头录制视频,并保存为avi格式。参考:官方例程#include "opencv2/opencv.hpp"#include <iostream>using namespace std;using namespace cv;int main() { // Create a VideoCapture object and use camera to ...原创 2017-08-11 19:48:22 · 5273 阅读 · 8 评论 -
OpenCV案例(二):选取圆对象
OpenCV提供了一些基本的形态学处理方法与绘图操作,比如膨胀、腐蚀、开闭操作、画圆,画椭圆,画线,画矩形,在图像里插入文字等功能。代码:#include <iostream>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include &...原创 2018-11-03 23:39:06 · 383 阅读 · 0 评论 -
OpenCV案例(四): 投射矫正
仿射变换是二维坐标间的线性变换, 故而变换后的图像仍然具有原图的一些性质,包括“平直性”以及“平行性”,常用于图像翻转(Flip)、旋转(Rotations)、平移(Translations)、缩放(Scale operations)等, 透视变换(Perspective Transformation),又称投影映射(Projective Mapping)、投射变换等...原创 2018-11-04 21:00:27 · 1754 阅读 · 0 评论 -
OpenCV案例(五): 更换背景色
1、证件背景替换代码实现思路: 1.将二维图像数据线性化 2.使用K-means聚类;分离出背景色 3.背景与人物像素二值化 4.腐蚀 + 高斯模糊:图像与背景交汇处高斯模糊化 5.更换背景色以及交汇处融合处理代码:#include <opencv2/opencv.hpp>#include <iostream>...原创 2018-11-10 15:41:45 · 10358 阅读 · 2 评论 -
目标检测(一):背景差分法
目标检测是将运动的物体从背景中检测出来,人们希望设计能适用于各种监控环境,不受光照、天气等外界因素影响的目标检测算法。但这种算法难免复杂度大,现有一些算法大多是针对某一类问题提出的,主要包括背景减法、相邻帧差法和光流法等1.1背景减法 背景减法(backgroundsubtraction)是目前运动目标检测的主流方法,其基本思想是将当前每一帧图像与事先存储或实时...原创 2018-11-10 22:38:33 · 23665 阅读 · 0 评论 -
图像分割(一):K-means聚类算法
K-means算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之一。K-means算法的基本思想是:以空间中k个点为中心进行聚类,对最靠近他们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。 假设要把样本集分为c个类别,算法描述如下: (1)适当选择c个类的初始中心; (2)在第k次迭代中,对任意一个样本,求其到c...原创 2018-11-07 22:23:33 · 15788 阅读 · 1 评论 -
图像分割(二):高斯混合模型(GMM)方法
基于高斯函数的算法,通过混合单个或多个高斯函数,计算对应像素中概率,哪个分类的概率最高的,则属于哪个类别图解:高斯分布与概率密度分布 - PDF :GMM算法概述GMM方法跟K - Means相比较,属于软分类实现方法 - 期望最大化(E - M)停止条件 - 收敛,或规定的循环次数代码:#include <iostream>#include...转载 2018-11-07 23:49:20 · 5684 阅读 · 1 评论 -
目标检测(二): meanshift与camshift算法
meanshift基本原理: 给定d维空间 个样本点 ,=1,2,...,n,在 点的mean shift向量的基本形式定义为: 其中, 是一个半径为h的高维球区域,满足以下关系的y点的集合, ...转载 2018-11-11 23:04:32 · 1538 阅读 · 0 评论 -
特征提取与检测(五) : LBP特征
一、LBP简介 LBP(Local Binary Pattern)算法是一种描述图像特征像素点与各个像素点之间的灰度关系的局部特征的非参数算法,同时也是一张高效的纹理描述算法,纹理是物体表面的自然特性,它描述图像像素点与图像领域之间的灰度空间的分布关系,不会因为光照强弱而改变图像的视觉变化。 LBP算法首次提出于1994年,主要是使用8邻域位置的局部关系,具有灰度不...原创 2019-03-06 21:07:51 · 2084 阅读 · 1 评论 -
特征提取与检测(四) : HOG特征
一、HOG简介 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。需要提醒的是,HOG+SVM进行行人检测的方法是法国研究人员Dalal在...原创 2019-03-06 22:56:48 · 980 阅读 · 0 评论 -
特征提取与检测(三) --- ORB算法
转载:ORB_关于对噪声、尺度、旋转的改进简介 ORB的全称是ORiented Brief,是文章ORB: an efficient alternative to SIFT or SURF中提出的一种新的角点检测与特征描述算法。实际上,ORB算法是将FAST角点检测与BRIEF特征描述结合并进行了改进。ORB算法: 在文章《BRIEF特...转载 2018-10-24 22:38:11 · 1903 阅读 · 0 评论 -
OpenCV案例(一):切边
实现思路:最大外接矩阵边缘检测+旋转+选取ROI区域裁剪代码:#include <iostream>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>#include ...原创 2018-10-31 22:49:23 · 1289 阅读 · 1 评论 -
python实现人脸检测及识别(1)---- 采集人脸数据
本次项目是采用keras深度学习框架,训练人脸识别模型,采用opencv实时检测与识别周围的人脸,本文主要讲解如何采集训练集,本次代码在人脸识别的代码上添加了将识别的照片依次写入指定文件夹,并命名(000-499).jpg和显示识别的第N张照片的文本显示。代码如下:# -*- coding:utf-8 -*-import cv2def CatchPicture(window_name...原创 2018-05-10 22:16:15 · 5945 阅读 · 5 评论 -
python实现人脸检测及识别(2)---- 利用keras库训练人脸识别模型
前面已经采集好数据集boss文件夹存放需要识别的对象照片,other存放其他人的训练集照片,现在,我们终于可以尝试训练我们自己的卷积神经网络模型了。CNN擅长图像处理,keras库的tensorflow版亦支持此种网络模型,万事俱备,就放开手做吧。前面说过,我们需要通过大量的训练数据训练我们的模型,因此首先要做的就是把训练数据准备好,并将其输入给CNN。前面我们已经准备好了2000张脸部图像,但没...转载 2018-05-11 17:21:55 · 3818 阅读 · 4 评论 -
python实现人脸检测及识别(3)---- 识别真正的boss
现在模型训练已经完成,只需要一个预测函数判断拍摄的照片是否是boss即可,在boss_train.py里的Model添加predeict实现函数。 def predict(self, image): # 依然是根据后端系统确定维度顺序 if K.image_dim_ordering() == 'th' and image.shape != (1, 3, IM...原创 2018-05-11 17:38:34 · 1462 阅读 · 2 评论 -
windows平台搭建opencv_python
资源:(1) python官方资源(2) Python Extension Packagea on Windows(3) numpy_tutorial第一步:安装opencv 所需的第三方库(默认python安装完成,命令行在cmd里输入)python版本:3.5.4 下载的扩展库要与python版本匹配:认准cp35 1.安装opencv-python库:pip install C:\Users...原创 2018-04-27 09:53:01 · 239 阅读 · 0 评论 -
opencv-python人脸识别初探
推荐博文:1、《浅析人脸检测之Haar分类器方法》2、《目标检测的图像特征提取之(三)Haar特征》3、《Face Recognition with Python》代码:import cv2import sys# Get user supplied valuesimagePath = 'test.png' # sys.argv[1]cascPath = "haarcascade_fr...原创 2018-04-27 13:48:17 · 477 阅读 · 0 评论 -
特征提取与检测(一)---Harris与Shi-Tomasi角点检测原理
一、Harris角点检测原理1. 何为角点?下面有两幅不同视角的图像,通过找出对应的角点进行匹配。 我们可以直观的概括下角点所具有的特征:>轮廓之间的交点;>对于同一场景,即使视角发生变化,通常具备稳定性质的特征;>该点附近区域的像素点无论在梯度方向上还是其梯度幅值上有着较大变化; 2. 角点检测算法基本思想是什么?算法基本思想是使用一...原创 2018-10-13 19:25:58 · 4816 阅读 · 0 评论 -
OpenCV访问像素的三种方法
三种方法分别问:指针访问:void colorReduce_ptr(cv::Mat &inputImage, cv::Mat &outputImage, int div);迭代器访问:void colorReduce_iterator(cv::Mat &inputImage, cv::Mat &outputImage, int div);动态地址计算:v...转载 2018-10-13 23:26:05 · 243 阅读 · 0 评论 -
特征提取与检测(二) --- SIFT算法
SIFT(Scale-invariant feature transform)是一种检测局部特征的算法,该算法通过求一幅图中的特征点(interest points,or corner points)及其有关scale 和 orientation 的描述子得到特征并进行图像特征点匹配,获得了良好效果,详细解析如下:一、SIFT算法综述特点:1.SIFT特征是图像的局部...原创 2018-10-18 22:17:49 · 3441 阅读 · 0 评论 -
OpenCV案例(三): 玉米颗粒计数
本案例主要完成对玉米颗粒数量的计算,由于颗粒存在重叠的现象,因此需要对这种情况进行一定的图像处理,分离出每个颗粒的轮廓。代码:#include <iostream>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <op...原创 2018-11-04 17:54:28 · 5749 阅读 · 2 评论