机器学习初探(手写数字识别)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(有小错误) 代码链接: 编程环境: 操作系统: ...
随机推荐
- Leetcode 969. Pancake Sorting
每次找到当前最大数,转两下把最大数转到最右边.重复这个操作,直到都转完. 时间复杂度O(n**2) class Solution(object): def pancakeSort(self, A): ...
- RedHat 6.8 打开vga之后Login界面花屏
/******************************************************************* * RedHat 6.8 打开vga之后Login界面花屏 * ...
- file_put_contents();
file_put_contents(); 用于获取文件中的内容,可以填写网址,但是需要以http://开头
- Storm的并行度、Grouping策略以及消息可靠处理机制简介
转自:https://my.oschina.net/zc741520/blog/409949 概念: Workers (JVMs): 在一个节点上可以运行一个或多个独立的JVM 进程.一个Topolo ...
- hawq创建filespace,tablespace,database,table
使用HAWQ 在HAWQ的使用上跟Greenplum基本就一样一样的了.比如: 1. 创建表空间 #选创建filespace,生成配置文件 [gpadmin@master ~]$ hawq f ...
- MySQL 数据库备份种类以及常用备份工具汇总
1,数据库备份种类 按照数据库大小备份,有四种类型,分别应用于不同场合,下面简要介绍一下: 1.1完全备份 这是大多数人常用的方式,它可以备份整个数据库,包含用户表.系统表.索引.视图和存储过程等所有 ...
- 关于java.lang.ClassNotFoundException
关于java.lang.ClassNotFoundException,在自己的程序中,也出现过好几次了,每次找到原因之后,又会发觉原来是以前处理过的. java.lang.ClassNotFoundE ...
- Swing编程练习。可能这篇会有错误哦
总结:21岁的思思是华为的初级女java工程师,我等女流怎么办呢? Swing.图形用户界面的编程,panel起了很大作用 package com.da; import java.awt.Color; ...
- js页面埋点
页面埋点的作用,其实就是用于流量分析.而流量的意思,包含了很多:页面浏览数(PV).独立访问者数量(UV).IP.页面停留时间.页面操作时间.页面访问次数.按钮点击次数.文件下载次数等.而流量分析又有 ...
- mongodb collection method
https://docs.mongodb.com/manual/reference/method/db.collection.bulkWrite/ db.coll_test.getIndexes()# ...