Open-CV
庾信平生最萧瑟
坎坷之路 终抵星空
展开
-
四元数
四元数1、关于四元数(摘自百度百科)定义四元数是简单的超复数。 复数是由实数加上虚数单位 i 组成,其中i^2 = -1。 相似地,四元数都是由实数加上三个虚数单位 i、j、k 组成,而且它们有如下的关系: i^2 = j^2 = k^2 = -1, i^0 = j^0 = k^0 = 1 , 每个四元数都是 1、i、j 和 k 的线性组合,即是四元数一般可表示为a + bi+ cj ...原创 2019-11-30 11:05:23 · 9345 阅读 · 0 评论 -
BOW--创建和训练目标检测器
BOW--创建和训练目标检测器1、bow方法的实现步骤去一个样本数据集 对样本集中的每幅图像提取描述符(采用SIFT,SURF等方法) 将每一个描述符都加入到BOW训练器中 将描述符聚类到K簇中(聚类的中心就是视觉单词)接下来要测试一下分类器,并尝试进行检测,这个过程和前面介绍的非常相似:给定测试的图像,提取特征,然后基于这些特征到最近簇心的距离来实现向量化,已形成直方图。下图...原创 2019-10-21 20:44:38 · 2081 阅读 · 0 评论 -
检测移动目标
检测移动的目标1、差分图法1、对图像进行去噪处理:因为每个输入的视频都会因为自然振动,光照变化或者摄像头本身的原因而产生噪声,对噪声进行平滑是为了避免在运动和跟踪时将其检测出来,2、以第一帧为背景,计算帧与帧之间的差异,(差分图)。cv2.absdiff()3、对差分图进行二值化处理,转化为黑白图像,cv2.threshold() ...原创 2019-10-21 21:40:44 · 625 阅读 · 0 评论 -
HOG-行人检测
HOG--行人检测import cv2import numpy as npdef is_inside(o,i): ox,oy,ow,oh = o ix,iy,iw,ih = i if ox>ix and oy>iy and ox+ow<ix+iw and oy+oh <iy+ih: return True ret...原创 2019-10-21 18:16:15 · 166 阅读 · 0 评论 -
目标检测
目标检测1、目标检测的相关技术梯度直方图 (histogram of oriented gradient) 图像金字塔 (image pyramid) 滑动窗口 (sliding window)2、HOG描述符用于图像目标检测的描述符内部机制差不多:将图像划分成多个部分,并计算各个部分的梯度,HOG不是基于颜色值而是基于梯度来计算直方图的,HOG所得到的特征描述符能够为特...原创 2019-10-18 18:05:00 · 178 阅读 · 0 评论 -
Grabcut图像分割
GrabCut图像分割1、算法步骤1、在图片中定义含有(一个或多个)物体的矩形2、在矩形外的区域被自动认为是背景3、对于用户定义的矩形区域,可以用背景中的数据来区别他里面的前景和背景区域4、用高斯混合模型来对背景和前景进行建模,并将未定义的像素标记为可能的前景或背景5、图像中的每一个像素都被看做通过虚拟便于周围像素相连接,而每条边都有一个属于前景和背景 的概率,这基于他与周...原创 2019-10-18 16:26:36 · 548 阅读 · 0 评论 -
深度估计
深度估计1、与深度相关通道的概念深度图:灰色图,该图像的每个像素值都是摄像头到位表面之间距离的估计值,比如:CAP_OPENNI_DEPTH_MAP通道的图像给出了基于浮点数的距离,该距离以毫米为单位 点云图,彩色图像,该图像的每种颜色都对应一个(x,y,z)维度空间,比如:CAP_OPENNI_POINT_CLOUD_MAP通道会得到BGR图像,这个单位的值是米 视差图:灰度图像,该...原创 2019-10-18 15:57:32 · 537 阅读 · 0 评论 -
Hough-直线和圆的检测
Hough-直线和圆的检测1、直线检测HoughLines:使用标准的Hough变换 HoughLinesP:使用概率Hough变换,之所以称之为概率版本的Hough变换是因为他只通过分析点的子集并估计这些点都属于一条直线的概率该函数的计算代价会少一些,执行会更块HoughLines会接收一个有Canny边缘检测滤波器处理过的单通道二值图像(不一定需要Canny检测,但是一个经过去噪并...原创 2019-10-17 20:39:49 · 293 阅读 · 0 评论 -
轮廓检测
轮廓检测1、轮廓检测findContours()函数输入参数:要处理的图像。这个函数会修改原来的图像,建议copy一下,img.copy() 层次类型。cv2.RETR_TREE会得到图像中轮廓的整体层次结构,cv2.RETR_EXTERNAL只得到图像最外面的轮廓 轮廓逼近的方法。常用cv2.CHAIN_APPROX_SIMPLE返回值:修改后的图像 图像的轮廓 轮...原创 2019-10-17 19:50:58 · 191 阅读 · 0 评论 -
canny边缘检测
canny边缘检测canny边缘检测算法非常复杂,有以下五个步骤:使用高斯滤波器对图像进行去噪 计算梯度 在边缘上使用费最大抑制(NMS) 在检测到的边缘上使用双阈值去除假阳性 分析所有的边缘和连接,来保留真正的边缘,消除不明显的边缘import cv2import numpy as np# 读出灰色图像img = cv2.imread("../images/09.jp...原创 2019-10-17 19:20:51 · 90 阅读 · 0 评论 -
色彩空间
色彩空间opencv中有三种常用的色彩空间:灰度,BGR以及HSV(hue,saturation,value)灰度色彩空间是通过去除彩色信息来将其转换成灰阶,灰度色彩空间对中间处理特别有效,比如人脸检测 BGR,每一个像素点有三个数组来表示,分别代表了蓝色,绿色和红色。网页开发用的是RGB HSV,色调,饱和度,黑暗程度ps:计算机中用到的是加色模型:【0,255,255】表示的...原创 2019-10-17 17:08:10 · 120 阅读 · 0 评论 -
处理文件、摄像头和图形用户界面
处理文件、摄像头和图形用户界面1、图像的读取和图片格式的改写import cv2img = cv2.imread("./pic.jpg",cv2.IMREAD_GRAYSCALE)cv.imwrite("./pic.pgm,img)图片文件的改写:只需要制定要保存的文件格式就可以,(.pgm .png .jpg .jpeg)图片数据的读取:在默认情况下,即使图片格式是灰色...原创 2019-10-17 11:52:00 · 201 阅读 · 0 评论