
在Python中处理MATLAB的*.mat格式数据及常见错误汇总
如果出现以上错误,改用下面方式读取,
虽然下面是浮点型,但是能够保证数据转化的精度和准确性,img的影像数据转化成数值时不出错误,非必要情况下,不要使用int8数据格式,因为使用int8格式数据类型,会在某些部分出错,这一定要注意。(改组数据中(0,80)数值在int8格式转化时出错,原始数值为129,转化之后变成127,而使用float格式则不会出现错误)
原始数据unit8数据格式类型的数值为129,在python中不同格式类型的值就不一样。
发布日期:2021-05-06 15:49:10
浏览次数:26
分类:精选文章
本文共 1697 字,大约阅读时间需要 5 分钟。
在Python中处理MATLAB的*.mat格式数据及常见错误汇总
欢迎学习交流!
个人网站: 邮箱:zengf.hou@bit.edu.cn
前言
由于matlab和python两种语言的编程方式不同,有时候在进行程序混编时,需要利用python调用matlab下的格式数据,下面介绍如何调用mat格式数据及常见错误解决方法,仅供参考!
一、数据读取错误
# 最初用loadmat读取数据import numpy as npfrom scipy.io mport loadmatimg = loadmat('im.mat')['im'] #im.mat为mat数据的名称,['im'] 中的im表示该文件下im的数据
使用如上代码读取数据时,会出现如下错误:

import h5pyimg = h5py.File('im.mat')['im']img = h5py.File('im.mat','r')['im'] # 无警告
二、数据类型错误(用Python处理图像时,若涉及加减运算,溢出差值被重新赋值255-0)
# python代码import h5pyimport numpy as npimg = h5py.File('im.mat')['im']# python中的M,N刚刚好与matlab中的M,N取值相反,此处进行转置与matlab相同矩阵格式进行处理x = np.array(img).T [M, N] = x.shapeif M < 16 and N < 16: score = -2# Feature Extraction:# 1. horizontal featuresd_h = x[:, 1:N] - x[:, 0:N - 1] # 该步操作图像产生满溢,溢出后差值可能都被赋为255,依次递减
此种情况下,d_h数据会出现满溢情况,下面就是相同数据在python和matlab下面进行运算的差异性。

% Matlab 代码img = laod('im.mat')[M, N] = size(x)if M < 16 | N < 16 score = -2;end x = double(img); % 将无符号类型uint8数据类型转换为double类型% Feature Extraction:% 1. horizontal featuresd_h = x(:, 2:N) - x(:, 1:(N-1));
x = np.array(img,dtype = 'int8').T # 对读取的uint8格式数据进行重新定义一下格式即可x = np.array(img,dtype = 'float').T # 下面这种格式虽然是浮点型,但是计算过程不容易出错,如果是上面的int8会出现部分错误,需要注意
现在看一下结果,就跟matlab处理结果一样了。



所以uint8格式,在python运算中还是转换成float格式靠谱,转换成int8真的不行呀!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年03月28日 21时13分22秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
[牛客] n的约数 唯一分解定理+dfs
2019-03-04
最小生成树 (kruskal)
2019-03-04
数据结构与算法总结(3)
2019-03-04
Java基础语法
2019-03-04
404服务器错误的讲解
2019-03-04
原创-开发问题指南
2019-03-04
python学习--Django学习4、数据库的增删改查、django后台管理系统
2019-03-04
Django开发车辆违章系统、模糊查询、分页查询
2019-03-04
centos7.5 装Python3.7报错(解决办法)
2019-03-04
Java常用设计模式之单例模式
2019-03-04
线性扫描--求数组中三个数最大乘积
2019-03-04
爬虫之 xpath的节点关系
2019-03-04
爬虫之 lxml模块的安装与使用示例
2019-03-04
Python创建目录文件夹
2019-03-04
正则表达式的概述
2019-03-04
Mongodb数据库介绍
2019-03-04
深度学习简介
2019-03-04
回文排列
2019-03-04
Linux之文件权限命令
2019-03-04
Linux之远程登录、远程拷贝命令 ssh scp
2019-03-04