机器学习初探(手写数字识别)HOG图片
这里我们讲一下使用HOG的方法进行手写数字识别:
首先把
代码分享出来:
hog1.m
function B = hog1(A)
%A是28*28的
B=[];
[x,y] = size(A);
%外圈补0
A(:,y+) = ;
A(x+,:) = ;
for i=:x
deltax(:,i)=A(:,i+)-A(:,i);
end
for i=:y
deltay(i,:)=A(i+,:)-A(i,:);
end
for i = :
for j = :
Px=deltax(i*-:i*+,j*-:j*+);
Py=deltay(i*-:i*+,j*-:j*+);
B=[B;hog2(Py,Px)];
end
end
hog2.m
function res = hog2(Px,Py);
%这里Px和Py是x方向和Y方向的偏导矩阵
%返回是一个7*1的矩阵
res=zeros(,);
[pxx,pxy]=size(Px);
for k=:pxx*pxy
len = sqrt(Px(k)^+Py(k)^);
if atan2(Py(k),Px(k))>=-pi && atan2(Py(k),Px(k))<*pi/-pi
res()=res()+len;
elseif atan2(Py(k),Px(k))>=*pi/-pi && atan2(Py(k),Px(k))<*pi/-pi
res()=res()+len;
elseif atan2(Py(k),Px(k))>=*pi/-pi && atan2(Py(k),Px(k))<*pi/-pi
res()=res()+len;
elseif atan2(Py(k),Px(k))>=*pi/-pi && atan2(Py(k),Px(k))<*pi/-pi
res()=res()+len;
elseif atan2(Py(k),Px(k))>=*pi/-pi && atan2(Py(k),Px(k))<*pi/-pi
res()=res()+len;
elseif atan2(Py(k),Px(k))>=*pi/-pi && atan2(Py(k),Px(k))<*pi/-pi
res()=res()+len;
elseif atan2(Py(k),Px(k))>=*pi/-pi && atan2(Py(k),Px(k))<*pi/-pi
res()=res()+len;
end
end
hog1得到的是一个1183*1的矩阵。
http://blog.csdn.net/hqh45/article/details/44228715
机器学习初探(手写数字识别)HOG图片的更多相关文章
- 机器学习(二)-kNN手写数字识别
一.kNN算法是机器学习的入门算法,其中不涉及训练,主要思想是计算待测点和参照点的距离,选取距离较近的参照点的类别作为待测点的的类别. 1,距离可以是欧式距离,夹角余弦距离等等. 2,k值不能选择太大 ...
- SVM学习笔记(二)----手写数字识别
引言 上一篇博客整理了一下SVM分类算法的基本理论问题,它分类的基本思想是利用最大间隔进行分类,处理非线性问题是通过核函数将特征向量映射到高维空间,从而变成线性可分的,但是运算却是在低维空间运行的.考 ...
- MindSpore手写数字识别初体验,深度学习也没那么神秘嘛
摘要:想了解深度学习却又无从下手,不如从手写数字识别模型训练开始吧! 深度学习作为机器学习分支之一,应用日益广泛.语音识别.自动机器翻译.即时视觉翻译.刷脸支付.人脸考勤--不知不觉,深度学习已经渗入 ...
- 机器学习初探(手写数字识别)matlab读取数据集
手写数字识别是机器学习里面的一个经典问题,今天就这一段时间学习的机器学习,花一个下午茶的时间,试试机器学习. 首先数据库是在MNIST(http://yann.lecun.com/exdb/mnist ...
- 机器学习框架ML.NET学习笔记【5】多元分类之手写数字识别(续)
一.概述 上一篇文章我们利用ML.NET的多元分类算法实现了一个手写数字识别的例子,这个例子存在一个问题,就是输入的数据是预处理过的,很不直观,这次我们要直接通过图片来进行学习和判断.思路很简单,就是 ...
- 机器学习框架ML.NET学习笔记【4】多元分类之手写数字识别
一.问题与解决方案 通过多元分类算法进行手写数字识别,手写数字的图片分辨率为8*8的灰度图片.已经预先进行过处理,读取了各像素点的灰度值,并进行了标记. 其中第0列是序号(不参与运算).1-64列是像 ...
- TensorFlow.NET机器学习入门【5】采用神经网络实现手写数字识别(MNIST)
从这篇文章开始,终于要干点正儿八经的工作了,前面都是准备工作.这次我们要解决机器学习的经典问题,MNIST手写数字识别. 首先介绍一下数据集.请首先解压:TF_Net\Asset\mnist_png. ...
- 手写数字识别 ----在已经训练好的数据上根据28*28的图片获取识别概率(基于Tensorflow,Python)
通过: 手写数字识别 ----卷积神经网络模型官方案例详解(基于Tensorflow,Python) 手写数字识别 ----Softmax回归模型官方案例详解(基于Tensorflow,Pytho ...
- 【机器学习】李宏毅机器学习-Keras-Demo-神经网络手写数字识别与调参
参考: 原视频:李宏毅机器学习-Keras-Demo 调参博文1:深度学习入门实践_十行搭建手写数字识别神经网络 调参博文2:手写数字识别---demo(有小错误) 代码链接: 编程环境: 操作系统: ...
随机推荐
- uva11991(二分查找或map的应用)
11991 - Easy Problem from Rujia Liu? Time limit: 1.000 seconds Easy Problem from Rujia Liu? Though R ...
- enumerate 枚举
- CodeForces - 682E: Alyona and Triangles(旋转卡壳求最大三角形)
You are given n points with integer coordinates on the plane. Points are given in a way such that th ...
- 「新手向」koa2从起步到填坑
前传 出于兴趣最近开始研究koa2,由于之前有过一些express经验,以为koa还是很好上手的,但是用起来发现还是有些地方容易懵逼,因此整理此文,希望能够帮助到一些新人. 如果你不懂javascri ...
- CentOS6.8部署MongoDB集群及支持auth认证
三个节点的副本集如下图所示: 实验目的: 配置MongoDB的3节点副本集 3个节点的副本集都要开启auth认证,并且开启认证后,能互相通信 第一步 - 准备环境 准备三个虚拟机,其中一个用作Prim ...
- Ubuntu下部署GitLab-——基于14.04系统
搭建GitLab的目的: 方便公司开发管理代码 GitLab实现的功能: 1.关闭了gitlab的注册功能 2.修改了默认端口 3.汉化 0.前期准备 # 环境 Ubuntu 14.04 root@i ...
- 如何禁用 a 标签的点击事件
a标签是没有disable属性的 ,如果想用disable 禁用a标签的点击事件,也可以实现: 1.a标签要用disable属性,必须和pointer-events属性一起使用, html代码: &l ...
- 如何在IJ中使用Jaxb2通过xml定义生成对应的Java Entity类的文件
#0. 准备要转换的xml文件,在Project视界中,右击这个xml文件,在弹出的菜单上选择“Generate XSD schema from XML File...”, 按默认设置生成xsd文件. ...
- HTML5通信
跨文档消息传输 HTML5中提供了在网页文档之间互相接收与发送信息的功能.使用这个功能只要获取到网页所在窗口对象的实例,无论是否同源都可以实现跨域通信.经常用于不同frame之间的通信. 当我们想要接 ...
- java流类基础练习。
总结:BufferedReader.InputStreamReader.字节与字符的区别. package com.ds; import java.io.*; //从控制台输入字符串,输到sdd时停止 ...