CV
文章平均质量分 76
yqtaowhu
硕士研究生,关注方向:C++,Linux,数据挖掘,机器学习,计算机视觉
Github:https://github.com/yqtaowhu
展开
-
Opencv学习笔记(五)--形态学操作
形态学操作简单来讲,形态学操作就是基于形状的一系列图像处理操作。通过将 结构元素 作用于输入图像来产生输出图像。最基本的形态学操作有二:腐蚀与膨胀(Erosion 与 Dilation)。 他们的运用广泛: 消除噪声 分割(isolate)独立的图像元素,以及连接(join)相邻的元素。 寻找图像中的明显的极大值区域或极小值区域。腐蚀操作腐蚀在形态学操作家族里是膨胀操作的孪生姐妹。它提取的是内原创 2016-08-17 20:15:06 · 982 阅读 · 0 评论 -
计算机视觉与卷积神经网络
人工神经网络到卷积神经网络如下图所示一个典型的人工神经网络:关于更多的人工神经网络请参考:从感知机到人工神经网络人工神经网络同样能应用到计算机视觉中,但是对于一副图像来说,假如其大小为227*227*3,即使对其做采样到32*32*3其输入的维度依然很高。如果用人工神经网络来对图片进行分类的话,它将面临这主要的两个问题: w参数的量级将会非常大,会消耗大量的计算资源 将会引起过拟合原创 2017-01-01 16:45:17 · 19684 阅读 · 6 评论 -
基于OpenCV实现霍夫变换
霍夫变换概述霍夫变换(Hough Transform)是图像处理中的一种特征提取技术,该过程在一个参数空间中通过计算累计结果的局部最大值得到一个符合该特征的集合作为霍夫变换的结果。霍夫线检测霍夫线变换是一种寻找直线的方法,在寻找霍夫变换之前,要对图像进行边缘检测,即霍夫线的输入为二值图像。原理其意思就是,直线在极坐标中的表示形式为:r=x*cos(θ)+y*sin(θ),即每一对通过(r,θ)代表了原创 2016-12-07 15:48:29 · 6883 阅读 · 2 评论 -
OpenCV 鼠标、滑动条交互式操作
鼠标响应在OpenCV图像处理的过程中,有时可能希望用鼠标进行交互,比如在做人脸检测,道路路牌识别的项目中,通常需要一定的正样本,这些正样本中包含着一些不是我们需要的信息,因此我们需要进行图像的裁剪,当然这样的事情可以在任意一个具有裁剪功能的应用程序中实现,但是效率太低。因此下面用Opencv进行实现鼠标的交互opencv鼠标回调函数在c++中,形式如下: void setMouseCallbac原创 2016-09-25 19:12:32 · 3085 阅读 · 5 评论 -
Linux下安装OpenCV 3.0
opencv的安装简直让人头疼,注意是一些依赖包的原因,刚开始使用的是Centos找软件真是欲生欲死,有点包含没有,因此转头Ubuntu的怀抱,用过都懂的。这里说下自己用的是16.04的LTS版本。 下面说一安装过程:1. 安装依赖项// 这里如果有版本或拼写问题,可以用tab去补全,查看要安装哪一个// 建议不要一次安装这么多,这样可以看到哪里出错了sudo apt-get updates原创 2016-12-01 17:34:01 · 13850 阅读 · 0 评论 -
基于OpenCV批量处理文件夹中的图片的方法
在进行图像处理等问题是面临的一个问题是如何批量的处理图片,这些图片存在在一个文件夹中,如何对这个文件夹中的数据进行批处理是非常重要的,下面介绍几种常用的方法。1. sprintf()函数法这种方法最为简单,他是将路径的名字存放在一个数组中//input为输入文件夹的路径,i为第几幅图像//图像的命名格式都是1.jpg,2.jpg,...sprintf(filename, "%s\\%d.jpg"原创 2016-11-10 19:08:44 · 9230 阅读 · 0 评论 -
基于OpenCV底层实现均值滤波,中值滤波和高斯滤波
起因:自己也看到一些底层的实现代码,感觉代码质量不高,而且各种指针问题,这里自己实现一下,个人认为实现的还是蛮清晰的。首先,对于均值滤波和中值滤波不再介绍,code can explain. 对于高斯滤波,其实就是加权平均的过程,中间元素由周围元素的加权平均得到,距离越近,权值越高。 其中这里的u,v表示的是到中心点的距离,这点要注意。可以看到,其具有sigma一个参数,但是对于我们要使用的模板原创 2016-11-04 20:41:18 · 8967 阅读 · 2 评论 -
OpenCV学习笔记(八)--颜色空间及转换
颜色空间要用三种或更多的特征来指定一种颜色,有许多的方法被称为颜色空间或者颜色模型。 如何选取其中一种方法来表示一副图像要依赖于执行的运算。 不同的颜色空间的转换,Opencv提供方法void cvtColor(InputArray src, Output dst, int code, int dstCn=0) code : 这是颜色空间的转换代码。例如COLOR_BGR2GRAY原创 2016-09-25 21:43:12 · 12121 阅读 · 0 评论 -
Opencv学习笔记(七)--图像修复
图像修复图像的修复是重建图像和视频受损部分的过程,这个过程也成为图像或视频的插值。OpenCV 2.4版本支持一种修复算法,函数的模型为: void inpaint(InputArray src, InputArray inpaintMask, OutputArray dst, double inpaintRadius, int flags) Parameters: src : 输入的图原创 2016-09-20 21:30:28 · 7191 阅读 · 0 评论 -
Opencv学习笔记(四)--图像处理平滑,锐化操作
图像平滑算法图像平滑与图像模糊是同一概念,主要用于图像的去噪。平滑要使用滤波器,为不改变图像的相位信息,一般使用线性滤波器。几种不同的平滑方法:1. 归一化滤波器 Blurs an image using the normalized box filter. void blur(InputArray src, OutputArray dst, Size ksize, Point anchor=P原创 2016-08-16 19:29:44 · 52963 阅读 · 12 评论 -
Opencv学习笔记(三)--图像处理的基本操作
Opencv图像处理基本操作1基本数据类型 图像有若干个通道,灰度图像只有一个通道,而彩色具有红,绿,蓝组成,但是OpenCv以逆序的方式来存储三个分量,还可以使用第四个透明度(alpha),可以使用img.channels()获取图像通道个数。使用若干个位存储一副图像的每个像素,这被称为图像的深度,灰度图像为8位,即0-255个灰度级,可以用img.depth()获得图像的深度,其返回值为:原创 2016-08-14 17:21:24 · 29553 阅读 · 4 评论 -
opencv学习笔记(一)(VS2015-openCV3.1.0-win10 配置说明)
注意本文是针对vs2015的,因为vs2015为vc14在以前的opencv中没有vc14,因此带来了很多的不便,本文对VS2015-openCV3.1.0配置进行说明。1 安装vs,opencvvs2015安装与opencv3.1.0安装过程不予讲述。2 OpenCV3.1.0环境变量配置右键属性->高级系统设置->环境变量->系统变量->找到Path->在变量值中添加相应路径,我的路径是 H原创 2016-08-12 16:17:12 · 1050 阅读 · 0 评论 -
OpenCV学习笔记(二)——Mat,图像的新容器
#基础知识#include<opencv2\opencv.hpp>#include <iostream> using namespace cv;using namespace std;int main(int argc,char *argv[]){ Mat image; image = imread("lena.jpg", IMREAD_COLOR); if (原创 2016-08-13 19:59:30 · 2005 阅读 · 0 评论 -
Opencv学习笔记(六)--图像的放大和缩小
图像金字塔(Image Pyramids)一个图像金字塔是一系列图像的集合 - 所有图像来源于同一张原始图像 - 通过梯次向下采样获得,直到达到某个终止条件才停止采样。 有两种类型的图像金字塔常常出现在文献和应用中:高斯金字塔(Gaussian pyramid): 用来向下采样 拉普拉斯金字塔(Laplacian pyramid): 用来从金字塔低层图像重建上层未采样图像向下采样导致了,图像放大原创 2016-08-18 21:15:17 · 5982 阅读 · 0 评论 -
Caffe学习-手写数字识别
1. Caffe训练方法综述\quadcaffe非常简单,训练时只需写prototxt文件即可,其大致的步骤为:Resize图片,转换存储格式(LMDB/LevelDB)定义网络结构(编辑prototxt)定义solver(编辑另一个prototxt)一行命令开始训练(可以基于已有的权重赋值)\quad如下图所示,其训练的过程,关于卷积神经网络(CNN)可以参考:计算机视觉与卷积神经网络下原创 2017-03-11 17:56:44 · 7659 阅读 · 0 评论