没事随便写写——matlab图像与矩阵的转换与存储为txt文件

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">刚开课,上了一节计算机图像处理,想了一下把图像转换成矩阵表示,然后存储到txt文档中去。图片用的 lena.jpg</span>

读取出来的肯定是一个三维矩阵,因为是彩色的,第三维度分别是R、G、B

第一二维度也就是对应屏幕上的像素点

如果是灰度图像,得到的就是二维矩阵

有错误,希望指正,初学者(⊙o⊙)…

废话不多说,没代码说啥

图片转换为矩阵,存储到 lean.txt 和存储为数据形式imagematrix.mat里面

%图片转换为矩阵
a=imread('D:\BingZhouWork\Image\lena.jpg');
%保存矩阵方法一
% [r,c]=size(a);
% fid=fopen('D:\matlab\bin\BingZhouWork\Image\lena.txt','wt');
% for i=1:r
%     for j=1:c
%         fprintf(fid,'%d\t ',a(i,j));
%     end
%             fprintf(fid,'\n');
% end
% fclose(fid);
%保存矩阵方法二
dlmwrite('D:\BingZhouWork\Image\lena.txt',a,'delimiter','\t');
%保存到mat格式
save imagematrix a;

这个程序是第一次写,出了点问题,显示为三个图像,具体原因,请对比下面那个修正版的程序,提示:图像是三维的矩阵:

%读取txt格式,但是会出现点问题
M=load('D:\BingZhouWork\Image\lena.txt');
[r,c]=size(M);
imwrite(uint8(M),'matrix1.tif','tif');
imshow('matrix1.tif');
% b=dlmread('D:\matlab\bin\BingZhouWork\Image\lena.txt');
% [r2,c2]=size(b);
% imwrite(uint8(b),'matrix1.tif','tif');
% imshow('matrix1.tif');%读取mat格式
% load('imagematrix.mat');
% [r1,c1]=size(a);
% imwrite(uint8(a),'matrix.tif','tif');
% imshow('matrix.tif');

修正以后的程序:

clear
clc
%读取txt格式,但是会出现点问题
M=load('D:\BingZhouWork\Image\lena.txt');
[r,c]=size(M);
a1=M(:,1:512);
a2=M(:,513:1024);
a3=M(:,1025:1536);
A(:,:,1)=a1;
A(:,:,2)=a2;
A(:,:,3)=a3;
imwrite(uint8(A),'matrix1.tif','tif');
imshow('matrix1.tif');%读取mat格式
% load('imagematrix.mat');
% [r1,c1]=size(a);
% imwrite(uint8(a),'matrix.tif','tif');
% imshow('matrix.tif');


下图是lena.jpg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/246755.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

李宏毅机器学习课程12~~~半监督学习

Semi-supervised Learning The distribution of the unlabeled data tell us something. Usually with some assumptions. Semi-Supervised Generative Model 对比学习见 李宏毅机器学习课程&#xff14;~~~分类&#xff1a;概率生成模型 EM算法思路来最大化似然函数。 Self-tr…

Python程序设计—车万翔

程序设计入门—Python 对象和类型 五种基本对象类型 字符串 &#xff08;string&#xff09;&#xff0c;简记为 str 使用 ’ ’ 或 ” ” 括起来的一系列字符 整数&#xff08;integer&#xff09;&#xff0c;简记为 int 十进制&#xff1a;21&#xff0c;八进制&#xf…

【重大修改】动态时间规整(Dynamic Time Warping)

本文只是简单的介绍DTW算法的目的和实现。具体的DTW可以参考一下文献&#xff1a; 离散序列的一致性度量方法&#xff1a;动态时间规整&#xff08;DTW&#xff09; http://blog.csdn.net/liyuefeilong/article/details/45748399 动态时间归整/规整/弯曲(Dynamic time warpi…

从机器学习谈起

很好的一篇文章&#xff0c;转载自博客园&#xff1a;http://www.cnblogs.com/subconscious/p/4107357.html 在本篇文章中&#xff0c;我将对机器学习做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习&#xff0c;并且上手相关的实践。这篇文档也算…

核函数

由于下一篇要学机器学习的另外一种模型——核模型&#xff0c;里面涉及到核函数&#xff0c;所以先找了一下核函数的相关知识。 在知乎上看到了一些比较好的解答&#xff0c;详细参考&#xff1a;http://www.zhihu.com/question/24627666 首先举一个核函数把低维空间映射到高…

关于Matlab编程的思考(待续)

Matlab编程的规范化思考 1.并行化 2.释放内存 3.需要调参的变量太多&#xff0c;可考虑将变量都放到一个结构体里面。 4.find(y),就是要找到y中那些非零项的指引 5.代码运行出现问题的时候&#xff0c;在命令行输入why就可以得到答案 6.输入bench可以给电脑跑分。 7.hom…

拉普拉斯锐化图像

在图像增强中&#xff0c;平滑是为了消除图像中噪声的干扰&#xff0c;或者降低对比度&#xff0c;与之相反&#xff0c;有时为了强调图像的边缘和细节&#xff0c;需要对图像进行锐化&#xff0c;提高对比度。 图的边缘是指在局部不连续的特征。 简要介绍一下原理&#xff1…

运动捕捉数据的描述ASF/AMC

运动捕捉数据有多种格式&#xff1a;ASF/AMC&#xff0c;BVH&#xff0c;C3D等&#xff0c;这三个是比较常用的&#xff0c;一般的matlab实验用的是ASF/AMC&#xff0c;其次就是BVH。 ASF/AMC文件格式是Acclaim Games公司设计开发的&#xff0c;全称是Acclaim Skeleton File/A…

应用深度学习(台大陈蕴侬李宏毅) Part1

History of Deep Learning Big Data & GPU 端到端 Universality Theorem Core Factors for Applied Deep Learning 参考文献 http://v.qq.com/vplus/578e2d6f5e1fadc1/foldervideos/8n1000201qzzkx5 Deep Learning ◦Goodfellow, Bengio, and Courville, “Deep Learning…

世界坐标

世界坐标是最直观反映人体在世界坐标系下运动位置的变化信息&#xff0c;对分析运动行为有重要的作用。下面介绍如何根据ASF/AMC文件计算人体各个关节的世界坐标。 根据前面讲的ASF/AMC文件的格式&#xff0c;可以知道人体运动可以看做是通过根节点root的平移以及其他关节绕其父…

人工神经网络——径向基函数(RBF)神经网络

此博客排版不好&#xff0c;重新用Markdown写了一篇&#xff0c;同时附上了代码&#xff0c;戳这里 本文摘自&#xff1a;《模式识别与智能计算——matlab技术实现第三版》与《matlab神经网络43个案例分析》 【注】蓝色字体为自己的理解部分 径向基函数神经网络的优点&#xf…

李宏毅机器学习课程-Transfer Learning

深度学习 -> 强化学习 ->迁移学习&#xff08;杨强教授报告) 李宏毅机器学习课程&#xff0d;Transfer Learning 迁移学习&#xff0d;吴恩达 freeze 待处理的 理解深层神经网络中的迁移学习及TensorFlow实现 Transfer Learning模式 Similar domain, different task…

matlab实现RBF的相关函数

摘自《matlab神经网络43个案例分析》 (1)newrb() 该函数可以用来设计一个近似径向基网络(approximate RBF)。调用格式为&#xff1a; [net,tr]newrb(P,T,GOAL,SPREAD,MN,DF) 其中P为Q组输入向量组成的R*Q位矩阵&#xff0c;T为Q组目标分类向量组成的S*Q维矩阵。GOAL为均方误…

李宏毅机器学习课程-Structured Learning

Simple structured learning framework for python pystruct-github Slides for explaining structured prediction and PyStruct -github 一、Structured Learning-Unifed Framework 之前的input and output 都是vectors Training阶段就是找一个&#xff26;来评估&#xff…

matlab之norm函数

简单点说就是用来计算范数的一个函数。 假设A是一个矩阵&#xff0c;那么norm(A)或者norm(A,2)计算的就是A的2范数&#xff1b;同理norm(A,1)计算的就是1范数了. 2范数&#xff1a;计算步骤是先计算A*A‘&#xff08;这里A’代表转置&#xff0c;也就是原矩阵*&#xff08;原…

matlab之unwrap函数

网上的说法&#xff1a; 要计算一个系统相频特性&#xff0c;就要用到反正切函数&#xff0c;计算机中反正切函数规定&#xff0c;在一、二象限中的角度为0&#xff5e;pi&#xff0c;三四象限的角度为0&#xff5e;-pi。 若一个角度从0变到2pi&#xff0c;但实际得到的结果是…

Python xrange与range的区别

xrange 与 range xrange 用法与 range 完全相同&#xff0c;所不同的是生成的不是一个list对象&#xff0c;而是一个生成器。 要生成很大的数字序列的时候&#xff0c;用xrange会比range性能优很多&#xff0c;因为不需要一上来就开辟一块很大的内存空间。 xrange 和 range 这…

受限玻尔兹曼机准备知识——蒙特卡洛方法

先了解几个基本概率知识&#xff0c;不急着看蒙特卡洛方法的定义&#xff0c;具体的MC方法参考网上各种资料。 两个比较好的学习MC方法的文章&#xff1a;蒙特卡洛方法入门 (结合了实例)和 蒙特卡洛方法 (推荐&#xff0c;非常详细) 更新日志&#xff1a;2016-11-19&#xff…

受限玻尔兹曼机准备知识——MCMC方法和Gibbs采样

先点明几个名词 MCMC方法&#xff1a;马尔可夫链-蒙特卡洛方法 (千万别叫成梅特罗波利斯蒙特卡罗方法了) Metropolis-Hastings采样&#xff1a;梅特罗波利斯-哈斯廷斯采样 Gibbs采样&#xff1a;吉布斯采样 还是介绍一下学习MCMC和Gibbs采样比较好的一个资料&#xff1a;随机采…

受限玻尔兹曼机——简单证明

花了很久看了一下玻尔兹曼机&#xff0c;感觉水有点深&#xff0c;总之一步一步来嘛~~~~ 先说一下一个非常好的参考资料&#xff1a; 受限玻尔兹曼机&#xff08;RBM&#xff09;学习笔记 &#xff0c;有兴趣的可以再看看这篇文章的参考文献或者博客&#xff0c;写的也非常好&…