当前位置: 首页 > news >正文

SVNH数据(.mat格式)转为图像(.png)matlab代码

一、获取SVNH数据

数据集集地址-http://ufldl.stanford.edu/housenumbers/

提供两种格式的数据:

1.Format 1,图像形式,压缩包

2.Format 2, .mat格式的数据

·10 classes, 1 for each digit. Digit '1' has label 1, '9' has label 9 and '0' has label 10.

·73257 digits for training, 26032 digits for testing, and 531131 additional, somewhat less difficult samples, to use as extra training data

·Comes in two formats:

1. Original images with character level bounding boxes.

2. MNIST-like 32-by-32 images centered around a single character (many of the images do contain some distractors at the sides).

二、将.mat形式数据转换为'.png'图像

图像分别存在1-10命名的10个文件夹中,并以原始的序号命名

注:这步的操作主要是为了方便后续dataset.ImageFolder处理,其要求数据存储的文件路径格式为

├── svhn

├── trainset

│ ├── subfolders for 1 ~ 10

├── testset

具体转换的matlab代码如下:

%将SVHN数据的.mat形式转换为图像并分别存在trainset和testset文件夹下
%这两个文件夹中分别包含1-10命名的10个文件夹,其中存图像
clear;clc;
%1.创建trainset和testset文件夹
train_filename = 'trainset';
if exist(train_filename)==0 %该文件夹不存在,则直接创建mkdir(train_filename);
end
test_filename = 'trainset';
if exist(test_filename)==0 %该文件夹不存在,则直接创建mkdir(test_filename);
end
% mkdir('trainset');
% mkdir('testset');%2.分别在trainset和testset文件夹下创建1-10命名的文件夹,用于存图
load train_32x32.mat;
labels = unique(y);
savepath = './trainset';
fileNums = length(labels);
makefile(fileNums, savepath);savepath = './testset';
makefile(fileNums, savepath);% 3.分别在对应标签的文件夹下存图
% for traindata
load train_32x32.mat;
savepath = './trainset/';
img_num = length(y);%size(X,4);
for i = 1:img_numimg = X(:,:,:,i);imshow(img);n = y(i);choosensaveimg(img,n,i,savepath);
end% for testdata
load test_32x32.mat;
savepath = './testset/';
img_num = length(y);%size(X,4);
for i = 1:img_numimg = X(:,:,:,i);imshow(img);n = y(i);choosensaveimg(img,n,i,savepath);
end% fun2:在文件1-10保存图片
function choosensaveimg(img,n,i,savepath)
switch ncase 1imwrite(img,strcat(savepath,'1/',num2str(i),'.png'));case 2imwrite(img,strcat(savepath,'2/',num2str(i),'.png'));%该数据集本身是.png.mnist是'.jpg'case 3imwrite(img,strcat(savepath,'3/',num2str(i),'.png'));case 4imwrite(img,strcat(savepath,'4/',num2str(i),'.png'));case 5imwrite(img,strcat(savepath,'5/',num2str(i),'.png'));case 6imwrite(img,strcat(savepath,'6/',num2str(i),'.png'));case 7imwrite(img,strcat(savepath,'7/',num2str(i),'.png'));case 8imwrite(img,strcat(savepath,'8/',num2str(i),'.png'));case 9imwrite(img,strcat(savepath,'9/',num2str(i),'.png'));case 10imwrite(img,strcat(savepath,'10/',num2str(i),'.png'));
end
end% fun1:创建1-10的文件夹
function makefile(fileNums, savepath)
for i=1:fileNumsfile_name = sprintf('%s',num2str(i));file_path_name_ = strcat(savepath,'/',file_name,'');if exist(file_path_name_)==0 %该文件夹不存在,则直接创建mkdir(file_path_name_);else %该文件夹存在,则先删除再创建rmdir(file_path_name_, 's'); %该文件夹中有没有文件均可mkdir(file_path_name_);end
end
end

相关文章:

SVNH数据(.mat格式)转为图像(.png)matlab代码

一、获取SVNH数据数据集集地址-http://ufldl.stanford.edu/housenumbers/提供两种格式的数据:1.Format 1,图像形式,压缩包2.Format 2, .mat格式的数据10 classes, 1 for each digit. Digit 1 has label 1, 9 has label 9 and 0 ha…...

【总结】vim教程与详细命令总结,该来的躲不掉啊晕

B站|公众号:啥都会一点的研究生 目录写在前面vim的工作模式普通模式编辑模式命令模式命令大全,最详细(建议收藏)光标的移动插入模式 - 插入/追加文本编辑文本选择文本(可视化模式)可视化模式命令剪切, 复制…...

git基础使用

Git安装 去安装>> 正式开始 进入要管理的目录,执行命令 git init 查看管理目录下的状态 git status 注:新增文件和修改过后的文件都是红色 管理指定文件(红变绿) 指定文件:git add 文件名 当前目录下所有&…...

基于 RANSAC 的地面分割与聚类算法

文章目录 前言 一、算法原理 参考文献 二、代码实现 1.头文件 2.源文件...

JVM内存模型深度剖析与优化

1. Java语言的跨平台特性 2. JVM整体结构及内存模型 堆存放着对象信息每个线程都会分配一块属于自己的内存空间(栈空间) 每个方法都会分配一块内存空间(栈桢),上图 compute()方法 和 main()方法 都会分配到各自的栈桢空…...

软件性能测试定义中文

From Wiki软件性能测试在软件质量保证中,性能测试通常是一种测试实践,用于确定系统在特定工作负载下的响应能力和稳定性方面的表现。它还可以用于调查、测量、验证或验证系统的其他质量 属性,例如可扩展性、可靠性和资源使用。性能测试是性能…...

2023情人节正经性生活调研报告

省时查报告-专业、及时、全面的行研报告库省时查方案-专业、及时、全面的营销策划方案库【免费下载】2023年1月份热门报告合集ChatGPT的发展历程、原理、技术架构及未来方向2023年,如何科学制定年度规划?《底层逻辑》高清配图今天给大家带来丁香医生最新…...

22- 隐马尔科夫HMM (NLP自然语言算法) (算法)

HMM模型 : from hmmlearn.hmm import GaussianHMM model GaussianHMM(n_components3,n_iter100000, covariance_type diag) model.fit(X) 1、马尔科夫链 有向图模型(贝叶斯网络):用有向图表示变量间的依赖关系; 无向图模型&…...

gRPC是什么,怎么用

RPC是什么 RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传…...

linux基本功系列之fdisk命令实战

文章目录前言一. fdisk命令介绍二. 语法格式及常用选项三. 参考案例3.1 列出每个分区的大小3.2 分区操作3.2.1 添加硬盘3.2.2 开启虚拟机并分区3.3.3 分区完成后进行格式化挂载四 . 设置分区自动挂载前言 大家好,又见面了,我是沐风晓月,本文…...

Mysql UDF提权复现Raven2

Raven2通关过程 主要通过Raven2靶机进行复现Mysql UDF提权,以下为通关过程。 靶机镜像:https://www.vulnhub.com/entry/raven-2,269/ 信息收集 拿到靶机ip:192.168.112.129 nmap -sP 192.168.112.0/24探测开放端口,nmap用烂了…...

枚举类(enum)

定义:在某些情况下,一个类的实例对象是有限且固定的,可将该类称为“枚举类”。枚举类是JDK 1.5 之后提出来的。例如:四季只有春夏秋冬4个季节,性别只有男女2个,故四季类和性别类均可称为“枚举类”。 在自…...

腾讯云架构师亲码“redis深度笔记”,从入门到精通,面面俱到

前言 作为这个时代码代码的秃头人员,对Redis肯定是不陌生的,如果连Redis都没用过,还真不好意思出去面试,指不定被面试官吊打多少次。 毕竟现在互联网公司和一些创业公司都要用到Redis,像亚马逊、谷歌、阿里、腾讯都要…...

萌新应该如何开始学习走向自动化测试高薪岗位?

对于测试人员来说,不管进行功能测试还是自动化测试,还是性能测试,都是需要编写测试用例,所以我们必须先要了解清楚手工测试用例与自动化测试用例的一些特点,才能更好的开展自动化测试工作。1.1手工测试用例和自动化测试…...

-bash: pip: command not found

背景 这个错误的原因就是,我们的服务器上没有安装pip,装上就可以了,下面我们看一下centos中的解决方案 下载 wget https://bootstrap.pypa.io/get-pip.py 下载完成后如下图: 安装 安装的时候首先需要看一下自己的python是什…...

使用HTTP隧道代理,请求超过频率要怎么办?

在网上,经常会看到有人说使用隧道代理经常遇到429错误(请求超过频率),我们要如何解决这一问题呢?通常情况,优质的HTTP代理厂商隧道代理服务器采用的是高性能主机构建的动态IP代理服务器,是可以支…...

paddle 49 ODConv的可部署调整

ODConv是一种适用于轻量化模型的conv结构,可以在较少的参数下训练出多参数模型才能达到的精度,在相同的flop下可以稳定的涨2-3%个点。但是在paddle下部署ODConv动态卷积模型时会报出各种异常,导致模型无法转静态图或onnx格式(可能在pytorch下也是无法转换的)。为此研究ODC…...

C++ STL 学习之【string】

✨个人主页: Yohifo 🎉所属专栏: C修行之路 🎊每篇一句: 图片来源 The key is to keep company only with people who uplift you, whose presence calls forth your best. 关键是只与那些提升你的人在一起&#xff0c…...

使用开源 MaxKey 与 APISIX 网关保护你的 API

1. Apache APISIX介绍 Apache APISIX 是 Apache 软件基金会下的云原生 API 网关,它兼具动态、实时、高性能等特点,提供了负载均衡、动态上游、灰度发布(金丝雀发布)、服务熔断、身份认证、可观测性等丰富的流量管理功能。我们可以…...

Linux之Xshell工具使用

shell简介Xshell是一个远程工具,可以远程连接linux系统 ,SSH,远程管理 Xshell来远程访问Linux系统的终端 。shell的英文含义是“壳”;它是相对于内核来说的,因为它是建立在内核的基础上,面向于用户的一种表…...

【数据结构与算法】时间复杂度与空间复杂度

目录 一.前言 二.时间复杂度 1.概念 二.大O的渐进表示法 概念: 总结: 三.常见时间复杂度计算举例 例1 例2 例3 例4 例5.计算冒泡排序的时间复杂度 例6.二分算法的时间复杂度 例7.阶乘递归Fac的时间复杂度 例8.斐波那契递归的时间复杂度 …...

Nginx如何配置Http、Https、WS、WSS的方法步骤

这篇文章主要介绍了Nginx如何配置Http、Https、WS、WSS的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 写在前面 当今互联网领域,Nginx是使…...

【博客621】iptables -J动作总结

iptables -J动作总结 1、iptables常见动作 ACCEPTDROPREJECTLOGSNATDNATMASQUERADEREDIRECT 2、iptables常见动作用法 2-1、ACCEPT: 作用:用于接收匹配的流量,使得流量继续往后面的规则和链路去匹配 2-2、DROP 作用:用于丢弃匹…...

Chrome开发者工具:利用网络面板做性能分析

Chrome 开发者工具(简称 DevTools)是一组网页制作和调试的工具,内嵌于 Google Chrome 浏览器中。 Chrome 开发者工具有很多重要的面板,比如与性能相关的有网络面板、Performance 面板、内存面板等,与调试页面相关的有…...

SpringCloud系列(十三)[分布式搜索引擎篇] - ElasticSearch 的概念及 Centos 7 下详细安装步骤

打开淘宝, 搜索 狂飙 会出现各种价格有关狂飙的书籍, 当然也有高启强同款的孙子兵法!!! 如下图所示: 那么面对海量的数据, 如何快速且准确的找到我们想要的内容呢? 淘宝界面已经可以按照综合排序 / 销量 / 信用 / 价格等进行筛选, 是如何做到的呢? ElasticSearch 11 Elastic…...

04_Docker 镜像和仓库

04_Docker 镜像和仓库 文章目录04_Docker 镜像和仓库4.1 什么是 Docker 镜像4.2 列出 Docker 镜像4.3 拉取镜像4.4 查找镜像4.5 构建镜像4.5.1 创建 Docker Hub 账号4.5.2 用 Docker 的 commit 命令创建镜像4.5.3 用 Dockerfile 构建镜像4.5.5 基于 Dockerfile 构建新镜像4.5.5…...

postman-enterprise-API

Postman 是一个用于构建和使用 API 的 API 平台。Postman 简化了 API 生命周期的每个步骤并简化了协作,因此您可以更快地创建更好的 API。 API存储库 在一个中央平台上围绕您的所有 API 工件轻松存储、编目和协作。Postman 可以存储和管理 API 规范、文档、工作流配…...

【ESP 保姆级教程】玩转emqx MQTT篇② ——保留消息和遗嘱消息

忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2023-02-18 ❤️❤️ 本篇更新记录 2023-02-18 ❤️🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请…...

开启慢查询日志方法

步骤 开启慢查询日志 SET GLOBAL slow_query_log on;SHOW VARIABLES like slow_query_log;设置时间限制 SET GLOBAL long_query_time 1; -- 单位sSHOW VARIABLES LIKE %long_query_time%;因为long_query_time参数只对新的数据库连接生效,所以还需要重启msql客户端…...

宝塔搭建实战人才求职管理系统admin前端vue源码(二)

大家好啊,我是测评君,欢迎来到web测评。 上一期给大家分享骑士cms后台端在宝塔的搭建部署方式,这套系统是前后端分离的架构,前端是用vue2开发的,还需要在本地打包手动发布上宝塔,所以本期给大家分享&#x…...

白玉网站建设/公司做网站一般多少钱

目录 1.foreach元素的属性 2.collection属性值的三种情况 3.代码示例 3.1 collection属性值为List(Array等同): 3.2 collection属性值类型为Map: 1.foreach元素的属性 collection: foreach的对象,作为入参,对象为list、array时,collection属性值分别默认用&quo…...

如何做同城信息网站/网站搭建需要什么

文章目录文章参考获取dom节点高宽的通用方法案例说明getBoundingClientRect() 获取DOM 的高度和宽度的办法?文章参考 原生js操作dom添加删除替换class你了解getBoundingClientRect()? 获取dom节点高宽的通用方法 dom.style.widt…...

深圳高端家具公司/上海专业seo排名优化

C初始化之超级大坑起因类中定义成员变量的初始化问题解决方法采用如下初始化方法栈区定义类的加括号与不加括号问题起因 平时很少用leetcode写题(一般都是用ACWing)今天看到个题用leetcode写了哈,结果遇到了两个语法大坑 类中定义成员变量的…...

如何查看网站点击量/查询网站流量的网址

1.触发器 这是一个非常简单直接的解决方案,我们只需要将DTS引擎驻留在比如windows服务中,该引擎通过数据库的触发器事件获取源表数据更新的所有情况,即增量,然后相应的更新目的表。然而,由谁来创建触发器了&#xf…...

网络管理系统的基本组件包括哪些?/佛山seo联系方式

主要内容: 信号的稀疏表示模型压缩测量RIP性质 恢复重建一、信号的稀疏表示模型 信号在某个空间是非稀疏的,如果变换到某个空间,即可变成稀疏的。 稀疏信号表示有极少的非零系数。 如下图,左边表示X信号在R3空间中只有一个非0系数…...

wordpress插件选项/百度推广客户端怎么登陆

Stack继承Vector类,它通过五个操作对类 Vector 进行了扩展。 栈是 后进先出的。 栈提供了通常的 push 和 pop 操作,以及取堆栈顶点的 peek 方法、测试堆栈是否为空的 empty 方法、在堆栈中查找项并确定到堆栈顶距离的 search 方法。 方法摘要 booleanemp…...