这里我们讲一下使用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图片的更多相关文章

  1. 机器学习(二)-kNN手写数字识别

    一.kNN算法是机器学习的入门算法,其中不涉及训练,主要思想是计算待测点和参照点的距离,选取距离较近的参照点的类别作为待测点的的类别. 1,距离可以是欧式距离,夹角余弦距离等等. 2,k值不能选择太大 ...

  2. SVM学习笔记(二)----手写数字识别

    引言 上一篇博客整理了一下SVM分类算法的基本理论问题,它分类的基本思想是利用最大间隔进行分类,处理非线性问题是通过核函数将特征向量映射到高维空间,从而变成线性可分的,但是运算却是在低维空间运行的.考 ...

  3. MindSpore手写数字识别初体验,深度学习也没那么神秘嘛

    摘要:想了解深度学习却又无从下手,不如从手写数字识别模型训练开始吧! 深度学习作为机器学习分支之一,应用日益广泛.语音识别.自动机器翻译.即时视觉翻译.刷脸支付.人脸考勤--不知不觉,深度学习已经渗入 ...

  4. 机器学习初探(手写数字识别)matlab读取数据集

    手写数字识别是机器学习里面的一个经典问题,今天就这一段时间学习的机器学习,花一个下午茶的时间,试试机器学习. 首先数据库是在MNIST(http://yann.lecun.com/exdb/mnist ...

  5. 机器学习框架ML.NET学习笔记【5】多元分类之手写数字识别(续)

    一.概述 上一篇文章我们利用ML.NET的多元分类算法实现了一个手写数字识别的例子,这个例子存在一个问题,就是输入的数据是预处理过的,很不直观,这次我们要直接通过图片来进行学习和判断.思路很简单,就是 ...

  6. 机器学习框架ML.NET学习笔记【4】多元分类之手写数字识别

    一.问题与解决方案 通过多元分类算法进行手写数字识别,手写数字的图片分辨率为8*8的灰度图片.已经预先进行过处理,读取了各像素点的灰度值,并进行了标记. 其中第0列是序号(不参与运算).1-64列是像 ...

  7. TensorFlow.NET机器学习入门【5】采用神经网络实现手写数字识别(MNIST)

    从这篇文章开始,终于要干点正儿八经的工作了,前面都是准备工作.这次我们要解决机器学习的经典问题,MNIST手写数字识别. 首先介绍一下数据集.请首先解压:TF_Net\Asset\mnist_png. ...

  8. 手写数字识别 ----在已经训练好的数据上根据28*28的图片获取识别概率(基于Tensorflow,Python)

    通过: 手写数字识别  ----卷积神经网络模型官方案例详解(基于Tensorflow,Python) 手写数字识别  ----Softmax回归模型官方案例详解(基于Tensorflow,Pytho ...

  9. 【机器学习】李宏毅机器学习-Keras-Demo-神经网络手写数字识别与调参

    参考: 原视频:李宏毅机器学习-Keras-Demo 调参博文1:深度学习入门实践_十行搭建手写数字识别神经网络 调参博文2:手写数字识别---demo(有小错误) 代码链接: 编程环境: 操作系统: ...

随机推荐

  1. 关于nginx访问 静态文件 403 的错误

    例如 ngixn的配置的静态文件访问 如下: location /static { root /var/app/lxxxx/web; } 1.检查所有的文件有无读权限 chmod 644 -R 2.检 ...

  2. url参数的编码解码Demo

    为了保证在页面传递数据的安全性,我们通常会对Url传递的参数进行编码解码操作.我们写一个Demo剖析URL编码解码过程. 完整Demo下载地址 1. Url参数如何在服务端进行编码和解码. 1.1 U ...

  3. java-05String课堂练习

    1.阅读以下代码查看输出结果 public class StringPool { public static void main(String args[]) { String s0="He ...

  4. linux swap交换分区说明/管理

    https://coolnull.com/3699.html 一.SWAP说明1.1 SWAP概述当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用.那些被释 ...

  5. python sentence

    1.while for 增加了循环正常结束后执行的else代码块. 2.Objects are mutable 3.import copy p1 = Point() p2=copy.copy(p1) ...

  6. bae3.0第二步 添加一个空的django项目

    1.创建django项目: 进入bae应用源码目录(appidd01iud80bg)执行django-admin.py startproject blog2.修改index.py的内容如下所示 #-* ...

  7. Day3-Python基础3--函数参数及调用

    一.return返回值 return的两个作用: 1)需要用一个变量来接受程序结束后返回的结果 2)它是作为一个结束符,终止程序运行 def test(): print("我是return前 ...

  8. Mingw版QtCreator调用VS编译的C++库的方法

    https://wenku.baidu.com/view/ae3667fe0b1c59eef8c7b4bc.html

  9. SEO中常用HTML代码大全,及权重排序

    做SEO必须要懂HTML,说的是一点都没错,不过其实是不需要全部都懂,最重点的你懂了会用,基本上都是事半功倍了.可以这么说一个不懂代码的优化人员不算是一个合格的好优化.下面就总结一下做优化,必须要懂得 ...

  10. xcode修改横屏

    1.修改工程属性 2.修改info.plist文件