计算机视觉
文章平均质量分 74
freedom098
这个作者很懒,什么都没留下…
展开
-
灰度图像的生成
由于毕业设计要做关于计算机视觉的题目,因此不可避免的要学习Opencv,我一开始学的Python接口的版本,不过也看了有关于c语言和c++接口的一些资料,opencv大部分代码都是基于c编写的,因此如果看c的接口可以很方便的追踪到其中的数据结构的定义和原函数一些声明和参数定义,但是我本人觉得不足之处是c或者c++本身就不是处理矩阵的一种编程语言,因此学会有一定的难度。我之前接触过python的nu原创 2015-11-24 16:48:30 · 5125 阅读 · 0 评论 -
CV1——二值图像分析之连通域
最近选修了计算机视觉的有关课程,主要目的就是系统地学习一下计算机视觉的有关知识。之前涉及到了一些,但是主要是结合opencv的学习,功能上只会调库,而没有深入思考背后的原理及实现,这次算是补课了。首先从最简单的二值图像分析开始,这里主要介绍了一个比较重要的知识点,就是如何寻找连通域并标记。第一种方法就是递归算法,其实可以算作是一种深度搜索,先把原有的图像二值化为0与1,然后把所有1的部分置原创 2016-09-23 18:43:41 · 951 阅读 · 0 评论 -
人脸识别经典算法实现(三)——LBP算法
第三种算法称之为LBP算法,这个算法的思路与PCA和Fisher有很大不同,他是考虑局部特征算子,并不是全局考虑。这种算法定义了一种LBP特征,这种特征与我们经常见到的Haar特征、HoG特征没有啥太大不同,都是特征算子,只是算法不同。因此,我们按照理解特征算子一类的算法去理解LBP就可以了。注意,LBP对关照不敏感,为什么?因为LBP算子是一种相对性质的数量关系,相比于PCA或者Fsih原创 2016-08-01 18:54:57 · 8793 阅读 · 2 评论 -
人脸识别经典算法实现(二)——Fisher线性判别分析
第二种人脸识别的经典算法是Fsiher算法,也称之为线性判别分析,我最先看到这个算法是在周志华老师的《机器学习》中,没想到在人脸识别上也有应用。这个算法的思路和PCA差不太多,都是着眼于图像全局考虑,PCA考虑的是如何确定一组正交基可以使数据降维,线性判别分析则是考虑如何确定一组投影向量可以让数据集在投影钟尽可能大的相互区分。直观上看,区分为非就是类与类之间的差别应该更大,而类内的数据应该更加原创 2016-08-01 18:48:21 · 9210 阅读 · 3 评论 -
人脸识别经典算法实现(一)——特征脸法
近来想要做一做人脸识别相关的内容,主要是想集成一个系统,看到opencv已经集成了三种性能较好的算法,但是还是想自己动手试一下,毕竟算法都比较初级。操作环境:python2.7第三方库:opencv for python、numpy第一种比较经典的算法就是特征脸法,本质上其实就是PCA降维,这种算法的基本思路是,把二维的图像先灰度化,转化为一通道的图像,之后再把它首尾相接转化为一个列向原创 2016-08-01 18:38:14 · 39112 阅读 · 9 评论 -
opencv haartraining训练过程总结dir /b > info.txt
由于毕设需求,需要用到opencv的机器学习模块,从网上搜索到opencv已经集成好了两个模块,分别是opencv_createsamples.exe和opencv_haartraining.exe,它们一般都在opencv\build\x86\vc10\bin文件目录下,作用是生成样本vec文件和训练数据集,生成一个分类器。其配置过程比较复杂,现做如下总结:1、首先准备两套数据集,一个是正例原创 2016-03-13 13:20:50 · 914 阅读 · 0 评论 -
Opencv直方图的生成与绘制
今天做了一下opencv1的直方图实验,结果被坑了一上午。直方图的含义十分简单,就是统计各个像素值的分布情况,因此我们的操作对象应该是一个单通道图,当然多通道图也可以,这样做出来的就是多维直方图,不过就一般应用而言,还是一维直方图用得比较多。opencv中集成了计算直方图的函数,说实话,这个函数的传参有点过于复杂了,不过如果有个例子比照着写还是比较简单的。另外,要注意的是,如果要在函数中计原创 2016-03-23 13:21:30 · 860 阅读 · 0 评论 -
OpenCV线性滤波实例
Opencv线性滤波包含有高斯滤波、方框滤波和平均滤波,利用OpencvGUI提供的滑动条可以对窗口大小可以进行动态调试,这是一个非常有用的工具,尤其需要在线调试参数的时候。// Fileter.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include using namespace cv;using原创 2016-01-06 11:02:57 · 464 阅读 · 0 评论 -
OpenCV中遍历图像的基本方式
OpenCV中的图像处理最关键最基础的部分就是像素点的遍历,在OpenCV中提供了丰富的函数及其方法来进行像素的遍历,在不少的资料上也基本统一,无非是基于c语言的指针的遍历,基于c++的迭代器遍历以及at方法遍历。下面分别列出三种方法代码来记录一下这三种方法,代码和方法参考了《Opencv3编程学习》和《Opencv2计算机视觉编程》两本书,并采用c++接口风格。本个例子是对三通道彩色图像做颜色压原创 2016-01-05 17:05:32 · 477 阅读 · 0 评论 -
Opencv中视频播放的控制
今天学习了一下关于使用Opencv播放视频,总的来说还是很简单的。目前我使用的是Opencv中的C语言风格接口函数。需要注意的是输入文件地址需要打两个反斜杠才是能形成转义字符,否则视频文件读取会失败,另外视频播放文件的格式也必须是xvid格式,如果不是还需要在网上下载一个软件对视频文件进行格式转换。代码如下,注释已经写得十分详细,就不多罗嗦了。#include "stdafx.h"#i原创 2015-11-29 09:21:27 · 853 阅读 · 0 评论 -
视觉注意模型中的颜色特征划分
昨天看了有关于视觉注意模型的算法的论文,说实话看懂的不多,所以就试着先试试一下图像的早期处理,视觉注意的图像早期处理分为三块,分别是亮度、色彩和方向特征的提取,其中亮度就是做灰度图,这一部分在前面的一片blog中已做了记录。现在要做的就是要进行颜色特征的提取,颜色特征提取论文中给出了相应的公式:根据上述公式就可以得出每一张RGB图像的四个颜色特征图像。总体来说非常简单,只要是懂得操作图原创 2015-11-25 10:25:41 · 1452 阅读 · 0 评论 -
opencv进行简单的裂缝检测
师弟最近要使用四旋翼进行桥梁探伤,主要是用运动相机搭载在四轴上检测裂缝,就顺便搞了一下有关于裂缝检测的图像处理。算法比较简单,没有考虑太多复杂情况,在简单墙面背景下基本可以找到裂缝并框定。基本思路为,先转换彩色图为灰度图,然后进行自适应局部阈值化,目的是为了减少光照与阴影对阈值的影响,然后进行膨胀操作,尽量放大凸显裂缝,在用中值滤波平滑一下,去除一些高频噪声。然后调用寻找轮廓函数寻找所有轮原创 2016-10-10 10:01:54 · 28879 阅读 · 7 评论