OpenCV
文章平均质量分 75
shengno1
年轻就是朝阳,容不得片刻怠慢
展开
-
静态编译OpenCV过程笔记
在全新的2014年来临的时候,伟大的OpenCV团队华丽丽地发布了OpenCV2.4.8,在面对2013年多次尝试静态屡败屡战,屡战屡败的惨痛经历后,终于还是决定再战一次,说不定这一次就能成功了呢。抱着这种可能这次会成功的态度,再次进行尝试吧。下面言归正传,开始华丽丽的OpenCV静态编译之路。环境:Windows 7 32位, cmake2.8.12.1, gcc使用的是原创 2014-01-08 20:48:01 · 3083 阅读 · 0 评论 -
OpenCV学习(2)--cv::Mat转化为QImage
OpenCV学习(2)--cv::Mat转化为QImage原创 2015-03-31 01:02:37 · 4308 阅读 · 0 评论 -
使用C++和OpenCV读取MNIST文件
一.MNIST手写字体文件说明 MNIST手写字体数据库下载地址http://yann.lecun.com/exdb/mnist/ 。 MNIST手写字体的数据库说明在下载网站的下面也有,为了便于写程序,数据库文件说明如下: 从上面的数据库说明可以看出来,MNIST手写字体数据库包含了是个文件,每个文件都是单纯的普通文件格式,因此,可以采用C+原创 2014-04-09 14:37:45 · 9755 阅读 · 7 评论 -
神经网络训练参数
对于神经网络的训练过程而言,除了需要输入训练集之外,还需要输入的就是学习速率和每次训练过程中batch的大小,因此,可以将这两个参数都放在同一个结构体中,相对于神经网络的结构参数,训练参数的实现就比较简单了。 具体代码如下: /*M////////////////////////////////////////////////////////////////////////原创 2014-09-11 14:55:59 · 2347 阅读 · 0 评论 -
基于OpenCV的抠图程序
最近为了建立图片数据库,要进行抠图,在使用了Windows自带的截图软件之后,发现非常的麻烦,每次都要直接打开图片,抠图,然后还要输入保存的文件名字,这种纯手工的方式,要多长时间才能搞定十万张图片。 本着能偷懒就偷懒的想法,在实际的数据库建立过程中,打开一个目录下面的文件和将抠出来的图保存下来的过程,根本不需要人的参与,因为这两部分都可以由程序自己来完成,因此,就产生了基于OpenCV的原创 2014-08-28 22:45:51 · 5829 阅读 · 1 评论 -
神经网络结构参数
在使用神经网络的时候,都需要输入每一个网络层的输入和输出,以及每个网络层的激活函数,为了方便后续根据不同的需要,选择合适的输入输出神经元个数和每一层的激活函数,因此,考虑将神经网络的结构参数单独写成一个类的形式,这样也方便以后进行拓展。 根据神经网络的结构特点,每一个神经网络层只要知道输入神经元个数,输出神经元个数,以及激活函数即可,因此,神经网络结构参数上面的几个参数。原创 2014-09-11 09:13:16 · 1989 阅读 · 0 评论 -
OpenCV中矩阵与列向量的互相转换
由于在使用OpenCV的神经网络的过程中,需要将样本保存为列向量或者行向量的形式,而在图像处理中,OpenCV读取进行的图像是以矩阵的形式保存的,因此,需要将矩阵转换为列向量的形式,由于我并没有在OpenCV的帮助文档中找到这样的一个函数(如果您发现有这样函数,请告诉我,谢谢),所以考虑自己写一个简单的转化器。原创 2014-09-19 11:09:00 · 6896 阅读 · 1 评论 -
基于OpenCV2.4.9的Logging类
由于需要将平时做实验时程序的一些输出信息保存下来,以前都是截图之类的,这样虽然也能将输出信息保存下来,但是这样不方便后面整理实验数据,一个比较好的方法是直接将输出信息保存为文本的格式,这样既能保存数据,也方便以后整理数据。 要将输出信息保存下来,有两个问题要解决:1.文件保存的名字;2.如何将不同类型的数据输出到文件中。 对于第一个问题原创 2014-08-22 14:35:57 · 913 阅读 · 0 评论 -
OpenCV中不同深度的元素在C++中的保存类型
由于在OpenCV中,访问某个像素点时,目前我知道到的三种遍历方式,有两种是需要知道元素的保存类型的,但是,因此,通过矩阵的元素的深度判断矩阵的元素的保存的类型很重要。 首先,介绍下矩阵元素的深度: 可以看出,直接从矩阵元素深度的介绍并不能看出元素保存的类型,只能通过元素深度的取值范围来判断元素的在C++中的保存类型。 首先,看一下在C++中,不同原创 2014-07-06 22:48:49 · 1047 阅读 · 0 评论 -
激活函数实现--4 Rectified linear函数实现
1.Rectified Linear函数的定义2.Rectified Linear函数的导数3.Rectified Linear函数的实现Rectified linear主要是通过类RectifiedLinear来实现的,该类继承自AbstrcactActivation类,主要实现Activ原创 2014-07-23 01:51:51 · 6588 阅读 · 0 评论 -
激活函数实现--1 接口设计
1 使用语言和库库:mingw编译的OpenCV2.4.9.0开发语言:C++IDE:Qt Creator版本控制:git2 主要接口2.1 功能激活函数的主要功能是输入一个矩阵,计算矩阵中的元素的激活值,同时,也包含有输入一个矩阵,计算矩阵中的元素关于激活函数的导数值,这是为了后续进行神经网络实现所进行的一部分。2.2 主要接口2.2.1 激活原创 2014-07-18 15:32:26 · 1195 阅读 · 0 评论 -
激活函数实现--3 Tanh函数实现
1.TANH函数的定义2. TANH函数的导数 3.TANH函数的实现Tanh主要是通过类Tanh来实现的,该类继承自AbstrcactActivation类,主要实现Activating接口和Derivating接口。Tanh类的定义如下:#ifndef TANH_H#define TANH_H#include原创 2014-07-18 20:20:11 · 10741 阅读 · 0 评论 -
激活函数实现--2 Sigmoid函数实现
1.Sigmoid函数的定义2.Sigmoid函数的导数3.SIGMOID激活的实现过程Sigmoid主要是通过类Sigmoid来实现的,该类继承自AbstrcactActivation类,主要实现Activating接口和Derivating接口。Sigmoid类的定义如下:#ifndef SIGMOID_H#define SIGMOI原创 2014-07-18 16:28:39 · 6575 阅读 · 0 评论 -
使用OpenCV自带的神经网络对MNIST手写字体进行识别
在学习了斯坦福机器学习公开课中关于神经网络的章节之后,一直想自己实现一个神经网络,但是在没有对照的情况下,实在是无法验证自己写的程序对不对,因此,必须先找一个已经写好的神经网络来进行对比实验,刚好OpenCV中就有神经网络,于是,先使用OpenCV自带的神经网络对MNIST手写字体进行识别。 在OpenCV中,使用神经网络需要先设置一些关于神经网络的参数。 OpenCV中的神经原创 2014-04-17 20:26:07 · 6993 阅读 · 11 评论 -
OpenCV学习(1)--在一个窗口同时显示多张图像
OpenCV学习(1)--在一个窗口同时显示多张图像原创 2015-03-24 20:51:47 · 8965 阅读 · 0 评论